openskills.info
← DevOps Engineer career guide

Infrastructure and operations

DevOps Engineer timeline

How the field of a DevOps Engineer got here: the sourced milestones from every published course of this career, on one axis.

1971 to 2026

409 milestones across 46 courses

  • Core
  • Supporting
  • Specialization

The axis stretches toward recent years, where most milestones fall. Bars count milestones per year; dots are single milestones.

Before 1990

6 milestones

  1. 1971

    UNIX becomes operational

    The Bell Labs retrospective dates UNIX operation to 1971 and describes its interactive model, shell, redirection, and pipes. Those components established the command-composition pattern used by later shells.

  2. 1978 Jul

    The UNIX Shell is documented in Bell System Technical Journal

    Stephen Bourne's UNIX Shell paper appears in the July–August 1978 Bell System Technical Journal issue. It records the shell as a distinct command-language layer in the UNIX environment.

  3. 1988

    Brian Fox begins writing Bash

    Fox starts Bash for the GNU Project, borrowing readline from Emacs so interactive users get command-line editing and history for the first time.

  4. 1988

    IEEE POSIX.1 defines a portable operating-system interface

    IEEE Std 1003.1-1988 established the POSIX system interface baseline. Portability work subsequently treated command environments as a defined interface instead of a property of one UNIX variant.

  5. 1988

    KornShell influences the field

    KornShell shows that a POSIX-minded shell can blend interactive polish with scripting rigor, shaping the standard Bash would later follow.

  6. 1989

    Bash 1.0 released

    The first Bash release ships, giving the GNU Project a free Bourne-compatible shell as its default on Linux systems.

1990s

13 milestones

  1. 1990

    POSIX 1003.2 defines the shell standard

    The POSIX Shell and Utilities standard fixes what a portable shell must do, giving scripts a contract independent of any vendor.

  2. 1991

    Pretty Good Privacy is released

    PGP made public-key cryptography and signatures broadly available in software. Its message and key concepts became the basis for the later OpenPGP format.

  3. 1992

    Bash 2.0 ships

    Bash 2.0 adds POSIX compliance and indexed arrays, closing the gap with ksh and maturing Bash into a real scripting language.

  4. 1992

    IEEE POSIX.2 supplies the shell and utilities base documents

    The POSIX.1-2024 rationale identifies IEEE Std 1003.2-1992 as the base document for the standardized utility set. Shell syntax and utility conventions therefore gained a shared portability target.

  5. 1995

    Microsoft SLM uses a one-branch daily workflow

    Paul Hammant's historical account describes a Microsoft workflow that synchronized, built, tested, merged, and checked in against a shared master branch, followed by a daily build.

  6. 1995 Apr

    First public Apache release

    Apache 0.6.2 shipped as a coordinated patch set on NCSA httpd 1.3, giving webmasters a shared distribution instead of private forks.

  7. 1995 Aug

    Modular server architecture adopted

    The project switched to Robert Thau's Shambhala design with a module API and adaptive pre-forking, releasing Apache 0.8.8 on that base.

  8. 1995 Dec

    Apache 1.0 released

    After beta testing, ports, documentation, and standard modules, Apache 1.0 shipped on December 1, 1995 as the first stable line.

  9. 1996

    Bash 2.x advances incrementally

    Through the late 1990s and early 2000s, incremental 2.x releases stabilize behavior and cement Bash as the shell on most Linux distributions.

  10. 1997

    X/Open Issue 5 publishes Commands and Utilities

    The Open Group historical standards record lists Commands and Utilities Issue 5 in 1997 as part of the Single UNIX Specification Version 2. It continued a common command interface across conforming systems.

  11. 1998 Nov

    RFC 2440 defines OpenPGP

    RFC 2440 standardized OpenPGP message formats, signatures, keys, and certificates. Software signing could then use an interoperable public-key format rather than a single implementation's convention.

  12. 1999

    Apache Software Foundation formed

    Members of the Apache Group created the ASF to give the HTTP Server organizational, legal, and financial support for ongoing development.

2000s

41 milestones

  1. 2000

    FreeBSD 4.0 adds Jails

    FreeBSD 4.0 added the jail system call and administration command for constrained process execution environments. Jails made host-shared operating-system isolation a practical system feature.

  2. 2000 Mar

    Apache 2.0 alpha announced

    At ApacheCon in Orlando, the project announced Apache 2.0 Alpha during the closing session, opening the redesign that introduced filter chains and selectable MPMs.

  3. 2000 Jul 19

    Apache Ant 1.1 released

    Apache Ant 1.1 became the first standalone Ant release. It established a Java-oriented XML build tool outside the Tomcat codebase.

  4. 2000 Sep

    Fowler and Foemmel publish the original Continuous Integration article

    The article described a shared source point, automated build and test, and daily integration. It gave teams a concrete CI practice reference beyond scheduled builds.

  5. 2000 Sep 10

    Original Continuous Integration article published

    Martin Fowler and Matthew Foemmel describe automated, reproducible builds running many times a day so developers can integrate daily and reduce integration problems.

  6. 2001 Aug

    RFC 3164 documented the BSD syslog protocol

    The informational RFC described the widely deployed BSD syslog message format and relaying behavior. It gave operators a common reference for a protocol that had grown through implementation practice.

  7. 2001 Dec

    OWASP Foundation launches

    OWASP launched as an open community focused on improving software security. Its projects made application-security guidance broadly accessible to development teams.

  8. 2002

    OWASP Developer Guide version 1.0 released

    The first Developer Guide established an early developer-facing reference for secure development practice.

  9. 2002 Apr

    Apache 2.0.35 reaches GA

    Apache HTTP Server 2.0.35 was released as GA on April 5, 2002, making the MPM-based concurrency model and redesigned internals the stable production line.

  10. 2004

    Bash 3.x adds regex matching

    The 3.x series brings the =~ regex operator and related improvements, letting scripts match patterns inside the shell instead of spawning grep.

  11. 2004 Apr

    The Open Group publishes Issue 6 Shell and Utilities

    The Open Group reference record dates the Issue 6 Shell and Utilities volume to April 2004. The specification retained a normative command language and utility surface for portable shell work.

  12. 2004 Jul 13

    Maven 1.0 released

    Apache Maven 1.0 reached a public release. Maven made conventions and dependency-management metadata central to a Java build workflow.

  13. 2004 Oct

    First public NGINX release

    NGINX 0.1.0 was released publicly. The project began as an event-driven web server built to handle many concurrent connections.

  14. 2005

    Git begins development

    Git's history dates its birth to 2005, providing a distributed version-control system that teams could use with either frequent mainline integration or longer-lived branches.

  15. 2005

    Hudson is released

    Hudson introduced a Java-based open-source CI server and became a widely used alternative to CruiseControl. CI automation moved toward extensible build servers that teams could operate themselves.

  16. 2005 Jan

    Solaris 10 reaches general availability

    Solaris 10 reached general availability in January 2005. Its Zones facility established another operating-system virtualization model with a shared kernel.

  17. 2005 Apr

    Git begins for Linux kernel development

    Linus Torvalds began Git after the Linux kernel community needed a distributed source-control system. The project was designed around local history and exchange between repositories.

  18. 2005 Apr

    Git development begins

    Git's initial public development established the distributed commit and reference model that later workflow policies organize.

  19. 2005 Dec

    Git 1.0 is released

    Git 1.0 marked an early stable release of the command-line system. The repository, commit, reference, and transport model became a practical daily workflow.

  20. 2005 Dec

    Git 1.0 release

    The first stable release made Git available as a general distributed version-control system rather than a Linux-kernel-only development effort.

  21. 2006 Mar

    RFC 5425 specified syslog over TLS

    The transport specification defined how syslog messages can use TLS. It made transport protection an explicit logging architecture choice rather than an assumed property of a message format.

  22. 2006 Nov 14

    Windows PowerShell 1.0 is released

    Microsoft announced Windows PowerShell 1.0 on November 14, 2006. Its object pipeline made the familiar pipe symbol carry a different data model from a traditional byte-stream shell.

  23. 2007 Apr 26

    Branch by Abstraction is named

    The Trunk Based Development reference dates the name to Stacy Curl in 2007 and positions the technique as a way to make a large change incrementally without abandoning the trunk.

  24. 2008

    LXC releases its first application-container tooling

    LXC's first release used a minimal init system for application containers. It exposed Linux kernel containment features through userspace tooling.

  25. 2008

    POSIX.1-2008 becomes the basis of Issue 7

    The Issue 7 Base Specifications present the POSIX.1-2008 revision of the portable operating-system interface. It maintained the Shell and Utilities volume as part of the standard's command environment.

  26. 2008 Jan

    Linux 2.6.24 introduces cgroups

    Linux 2.6.24 introduced the initial cgroups implementation. Resource controls became a kernel primitive that container runtimes could apply to process groups.

  27. 2008 Apr

    Git 1.5.6 introduces rerere

    Recorded resolution reuse gave long-running or repeatedly rebased work a way to reuse a prior conflict resolution while still requiring review.

  28. 2009

    Bash 4.x expands the language

    Bash 4.0 adds associative arrays, the ** globstar, and case inversion, broadening what a pure Bash script can represent.

  29. 2009

    First devopsdays held in Ghent

    The first devopsdays conference brought software development and operations together as one technical conversation.

  30. 2009

    Portability stays a design constraint

    Bash continues to support 32-bit hosts and adds features like async job control and IPv6 in series 4, keeping architecture limits in view.

  31. 2009 Mar

    RFC 5424 updated the syslog protocol

    RFC 5424 replaced RFC 3164 with a standardized message format and structured data element. It formalized record structure and separated protocol concerns from transport selection.

  32. 2009 Mar

    RFC 5426 defined syslog over UDP

    The UDP transport mapping documented message-size and delivery limitations for datagram transport. It kept loss and truncation in the operational design discussion.

  33. 2009 Jun

    Flickr talk links development and operations

    John Allspaw and Paul Hammond presented their deployment and cooperation practices at Velocity. The talk became one of the two events DORA identifies as giving rise to the DevOps movement.

  34. 2009 Jun

    Semantic Versioning 1.0.0 published

    Semantic Versioning established a public version-numbering contract. Release labels could communicate API compatibility, while artifact integrity still required a separate immutable identifier.

  35. 2009 Oct

    First DevOpsDays held in Ghent

    Patrick Debois and volunteer organizers held the first DevOpsDays event. It created a practitioner forum around development and operations cooperation.

2010s

207 milestones

  1. 2010

    Continuous Delivery book published

    Continuous Delivery connected continuous integration with build, test, and deployment automation, making frequent integration a foundation rather than the end of the delivery path.

  2. 2010

    Dapper documents production-scale distributed tracing

    Google published Dapper's design for low-overhead, application-level tracing across a large distributed system. The paper made sampling and shared instrumentation libraries central practical concerns.

  3. 2010

    Google publishes the Dapper paper

    Google described a production distributed tracing system for large-scale services. The paper made trace-based latency analysis a concrete operational pattern beyond single-process profiling.

  4. 2010

    Google publishes the Dapper tracing paper

    The paper described a production tracing infrastructure for large, distributed systems, including ubiquitous instrumentation and sampling. It gave practitioners a concrete model for following work across services rather than inspecting hosts in isolation.

  5. 2010

    Team Foundation Server 2010 expands the platform

    TFS 2010 continues the on-premises release line with updated Visual Studio integration, reinforcing the collection-and-project model later preserved in Azure DevOps.

  6. 2010 Feb

    Elasticsearch released its first public version

    Elasticsearch began as a distributed search engine. Searchable storage became a common backend pattern for log analysis as it was combined with collectors and visualization tools.

  7. 2010 Feb

    Git 1.7.0 adds notes support

    Git 1.7.0 added the `git notes` command. Notes associate additional information with objects without changing the commits themselves.

  8. 2011

    CircleCI launches

    CircleCI launched as CI/CD was still a niche practice for a smaller set of teams. Its arrival broadened the set of hosted CI options alongside self-managed servers.

  9. 2011

    dash becomes /bin/sh on Debian

    Debian points /bin/sh at dash, a smaller POSIX interpreter chosen for speed, making the sh-versus-Bash boundary visible to real users.

  10. 2011

    First Puppet DevOps survey run

    Alanna Brown ran a survey of DevOps practice. The survey began a recurring evidence base for discussing delivery practices rather than treating the term as a tool category.

  11. 2011

    Puppet Enterprise 2.0 released

    Puppet Enterprise established commercial packaging for teams operating configuration management beyond local manifests.

  12. 2011

    Semantic Versioning 1.0.0 published

    Tom Preston-Werner's SemVer 1.0.0 gave MAJOR.MINOR.PATCH a precise compatibility meaning that later changelog practice could hang on.

  13. 2011 Jan

    The Hudson community proposes the Jenkins name

    The project proposed moving from the Hudson name to Jenkins after a dispute over trademark control. The renamed project retained the community-driven CI server lineage.

  14. 2011 Feb

    AWS launches CloudFormation

    AWS introduced CloudFormation for describing a collection of AWS resources in templates. The service provisioned resources in dependency order from that definition.

  15. 2011 Feb

    Puppet Enterprise announced

    Puppet Labs announced Puppet Enterprise as a commercially supported Puppet release. This established the product line that added enterprise operations around Puppet configuration management.

  16. 2011 Apr

    NGINX 1.0.0 stable release

    NGINX 1.0.0 established the stable release line. The published announcement also records the 2004 first public release date.

  17. 2011 Jun

    Fluentd began unifying event collection

    Fluentd introduced an open-source collector for routing events from varied sources to varied destinations. Collection and transformation became a distinct pipeline stage rather than an application-only concern.

  18. 2011 Jul

    NGINX, Inc. established

    Igor Sysoev announced a company dedicated to NGINX development, support, communication, and documentation while keeping NGINX free and open source.

  19. 2011 Aug 31

    GitHub Flow is described publicly

    GitHub's account of its development flow points readers to the GitHub Flow description, a pull-request-oriented workflow that pairs a main branch with short-lived work.

  20. 2011 Sep

    Ninja 1.1 added build-file versioning

    Ninja 1.1 introduced the `ninja_required_version` mechanism documented by its manual. Generated build files could then state the minimum executor capability they required.

  21. 2012

    Ansible is written

    Ansible's creator began the project in 2012. The initial focus was automation over standard remote connections rather than a permanent managed-node agent.

  22. 2012

    Prometheus begins as an open-source project

    Prometheus began as an open-source project in 2012. Its timestamped, label-based series model gave practitioners a common way to describe metric identity and aggregation.

  23. 2012

    Prometheus begins at SoundCloud

    Prometheus began as an open-source monitoring project at SoundCloud. Its time-series model based on timestamps and labels became a practical reference point for metrics collection and cardinality.

  24. 2012

    Team Foundation Service cloud preview

    Microsoft previews a hosted Team Foundation Service, showing the same ALM model could run as a cloud service rather than only on customer servers.

  25. 2012

    Zipkin becomes an open-source tracing project

    Zipkin made distributed tracing available as a reusable open-source system. Practitioners could collect and inspect request timing across service boundaries without building a tracing backend from scratch.

  26. 2013

    Packer begins

    Packer started as a project for building deployment images from one source configuration. It made cross-platform image creation a distinct automated build step.

  27. 2013

    SoundCloud uses Prometheus in production

    Prometheus was introduced for production monitoring at SoundCloud in 2013. Production use tested its model against real service behavior before broader adoption.

  28. 2013

    State of DevOps Report published

    Puppet and IT Revolution published findings from the 2012 survey. The report made comparative research on DevOps practice a recurring part of the field.

  29. 2013 Jan

    GitLab CI 2.0 adds concurrent per-project builds

    GitLab CI 2.0 changed its job processing so separate projects could run builds concurrently. This improved the feedback loop for teams using CI alongside their Git repositories.

  30. 2013 Feb

    Ansible 1.0 is released

    The project announced Ansible 1.0 after a sequence of earlier releases. Releases became a distribution path alongside using the upstream Git repository.

  31. 2013 Feb

    WebSocket proxying added

    NGINX 1.3.13 added support for proxying WebSocket connections. Reverse-proxy configurations now needed to account for protocol upgrades as well as ordinary HTTP requests.

  32. 2013 Mar

    Docker initial public release

    Docker published its initial release with an image registry and push and pull workflow. Container security practice gained a widely used build, image, and daemon surface to secure.

  33. 2013 Mar

    Docker is publicly demonstrated

    Docker was first publicly demonstrated at PyCon in March 2013. The image-based build, share, and run workflow made application containers accessible to a broader developer audience.

  34. 2013 Mar 15

    Docker is publicly demonstrated

    Docker was first publicly demonstrated at PyCon in March 2013. Its image-based build, share, and run workflow broadened the everyday use of application containers.

  35. 2013 May

    Elastic described the ELK Stack

    Elasticsearch, Logstash, and Kibana became a recognizable combination for ingesting, searching, and visualizing log data. The stack made the separation of pipeline roles visible in common deployment practice.

  36. 2013 Jun

    Puppet Enterprise 3.0 released

    Puppet version history records the 3.0.0 release on June 25, 2013. Operators began tracking the PE 3.x line as a distinct platform release baseline.

  37. 2013 Jun

    Semantic Versioning 2.0.0 published

    Version 2.0.0 clarified the major, minor, and patch compatibility contract. It became a common reference for release communication across package ecosystems.

  38. 2013 Jun 18

    Semantic Versioning 2.0.0 released

    SemVer 2.0.0 refined precedence, pre-release, and build metadata rules that tooling and changelog preambles still reference.

  39. 2013 Sep

    Ansible 1.3 and AWX 1.3 ship together

    The project announced Ansible 1.3 with AWX 1.3. This established an early controller-oriented companion to command-line playbook execution.

  40. 2013 Sep

    Ansible 1.3 ships with AWX 1.3

    The Ansible project announced Ansible 1.3 together with AWX 1.3, establishing an early controller companion to command-line playbook runs.

  41. 2013 Nov

    Buildbox becomes available without an invitation

    Buildbox, the original Buildkite product name, left beta and opened signup without an invitation. Hosted CI became more accessible to teams that did not want to run every control-plane component themselves.

  42. 2013 Nov

    Visual Studio Online launches

    Microsoft takes the hosted ALM service generally available as Visual Studio Online, making cloud-hosted repos, work tracking, and builds a mainstream offering.

  43. 2014

    Compose v1 is first released

    Compose v1 was first released in 2014 as the Python-based docker-compose command. It added a file-based way to define a multi-container application.

  44. 2014

    Delivery performance linked to organizational performance

    The 2014 State of DevOps Report connected software delivery performance with organizational performance. Improvement discussions could therefore consider outcomes beyond adoption of a particular tool.

  45. 2014 Jan

    conventional-changelog published on npm

    Early automation began turning structured commit histories into changelog drafts years before Conventional Commits reached 1.0.0.

  46. 2014 Jan 19

    Grafana 1.0 is publicly released

    The first public release began as a better interface for Graphite data and query editing. Grafana's initial value was separating readable visualization and query interaction from the storage backend.

  47. 2014 May

    Git 2.0 changes the default push behavior

    Git 2.0 made the safer `simple` push mode the default. The change reduced accidental updates to branches with matching names.

  48. 2014 May

    Google described Push On Green

    Google's account described a path toward automated rollout after a defined green condition. It documented the operational work needed to turn release steps and approvals into repeatable automation.

  49. 2014 Jun

    CMake 3.0 added target-oriented features

    CMake 3.0 added interface libraries and expanded its Ninja generator support. These features strengthened target-level descriptions that generators could translate into execution graphs.

  50. 2014 Jun

    Docker 1.0 added production support

    Docker 1.0 marked production support in the release notes. Containers moved from an early tool into production environments where host boundaries and delivery controls mattered operationally.

  51. 2014 Jun

    Docker 1.0 reaches production support

    Docker 1.0 marked production support for a broadly adopted container runtime. Its bridge and port-publication model made host-side networking behavior a routine operational concern.

  52. 2014 Jun

    Docker Engine 1.0 released

    Docker 1.0 provided production support for container images. Image artifacts and registries made immutable build outputs a practical unit for many delivery pipelines.

  53. 2014 Jun

    Kubernetes begins as an open source project

    Kubernetes began with its first commit and public announcement. Cluster orchestration made per-workload attachment only the first layer of a larger networking design.

  54. 2014 Jun

    Kubernetes is announced

    Kubernetes brought container-oriented cluster management into the open. Its workload model made replacement of workload instances a normal control-plane action.

  55. 2014 Jun 6

    First Kubernetes commit reaches GitHub

    Google engineers push the project's first commit, distilling lessons from a decade of running Borg internally into an open source container orchestrator.

  56. 2014 Jun 9

    Docker Engine 1.0 adds production support

    Docker Engine 1.0.0 was released with production support. The release established a stable baseline for the Engine workflow that uses images, containers, and the daemon API.

  57. 2014 Jun 9

    Docker Engine 1.0 reaches production support

    Docker Engine 1.0 was released with production support. Container images became a common application delivery artifact, making their contents and distribution a practical security concern.

  58. 2014 Jul

    Puppet Enterprise 3.3 released

    Puppet version history records PE 3.3.0 on July 15, 2014. The chronology shows the product moving through maintained minor lines rather than a single static enterprise package.

  59. 2014 Jul

    Terraform 0.1.0 is tagged

    HashiCorp published the first Terraform release tag. Terraform made providers, resources, and a separate state record central to a cross-platform IaC workflow.

  60. 2014 Jul

    Terraform is announced

    Terraform introduced a tool for describing and creating infrastructure across providers. It linked versioned definitions to repeatable resource creation.

  61. 2014 Aug 8

    Trunk-correlated practices chart released

    Paul Hammant's chart records its first version in 2014, collecting related practices for moving from long release cycles toward continuous delivery.

  62. 2015

    Grafana 2.0 follows the formation of Grafana Labs

    Grafana 2.0 arrived as the project moved from a personal project into a company-backed product. The change established the path from a Graphite-focused dashboard to a broader observability platform.

  63. 2015

    Hidden Technical Debt in Machine Learning Systems is published

    Google researchers cataloged system-level debt created by data dependencies, configuration, feedback loops, and pipeline complexity. Production ML reliability became a broader engineering concern than model accuracy alone.

  64. 2015

    Native HTTP/2 via mod_http2

    Apache HTTP Server 2.4.17 and later ship mod_http2, so HTTPS listeners can negotiate HTTP/2 without a separate proxy solely for that protocol.

  65. 2015

    OpenTracing begins as a vendor-neutral API effort

    OpenTracing focused on common APIs for instrumenting distributed systems. This shifted instrumentation toward a portable interface rather than a backend-specific library.

  66. 2015

    Salt 2015.5 changes command-shell defaults

    Command module functions began defaulting to python_shell false to address shell-injection risks. Custom modules using shell syntax required review or an explicit temporary override.

  67. 2015

    Salt 2015.5 introduces the Beacon system

    The release added minion-side beacons that translate external activity into Salt events. This established the beacon-to-reactor path used for event-driven responses.

  68. 2015

    Uber creates Jaeger

    Uber created Jaeger as an internal distributed tracing platform. It provided an open-source implementation focused on monitoring and troubleshooting cloud-native architectures.

  69. 2015

    Visual Studio Team Services name

    The cloud service is renamed Visual Studio Team Services (VSTS), separating the hosted brand from on-premises Team Foundation Server while keeping the shared feature heritage.

  70. 2015 Apr 23

    Origins of Trunk-Based Development documented

    Paul Hammant published a historical investigation that distinguishes a trunk layout from the operating practice of keeping normal work on a shared development line.

  71. 2015 Jun

    Open Container Initiative is formed

    OCI formed to develop vendor-neutral container standards and later added an image specification.

  72. 2015 Jun

    Open Container Initiative launched

    The OCI was launched to create open standards for container formats and runtimes. Standardized image and runtime contracts made digest and runtime behavior portable across implementations.

  73. 2015 Jun 22

    Open Container Project is announced

    Industry participants announced the Open Container Project to establish open container format and runtime standards. Docker contributed container format and runtime technology to the project.

  74. 2015 Jul

    Git 2.5 adds worktree

    Linked working trees made concurrent branch work possible without maintaining separate clones of the same repository.

  75. 2015 Jul

    Puppet Enterprise 2015.2 released

    Puppet version history records PE 2015.2.0 on July 28, 2015. The year-based release naming became an operational compatibility reference for upgrades and module testing.

  76. 2015 Jul

    The Open Container Initiative publishes its draft charter

    OCI began work on common container standards. The effort created a shared container-artifact model on which digest-addressed distribution and later signing workflows could converge.

  77. 2015 Jul 21

    Kubernetes 1.0 ships and Google donates it to a new foundation

    Google declares Kubernetes production-ready at 1.0 and hands the project to the newly formed Cloud Native Computing Foundation, separating it from any single vendor's control.

  78. 2015 Aug 11

    Docker Engine 1.8 adds trusted pull, push, and build

    Docker Engine 1.8 introduced trusted pull, push, and build as an opt-in feature. Image integrity and publisher verification became explicit workflow concerns.

  79. 2015 Sep

    Bazel reached beta as open source

    Google announced Bazel beta as an open source build system for multiple languages and platforms. Its public model brought hermetic and distributed-build ideas to a wider audience.

  80. 2015 Sep

    HTTP/2 support released

    NGINX Open Source 1.9.5 added HTTP/2 support and replaced the prior SPDY module. HTTPS listener configuration became the path to browser HTTP/2 support.

  81. 2015 Sep

    Nomad 0.1.0 initial release

    HashiCorp shipped the first public Nomad with a unified scheduler for mixed workloads, establishing the server and client agent model.

  82. 2015 Oct

    Git LFS 1.0.0 is released

    Git LFS 1.0.0 established an extension for storing large file content outside normal Git objects while committing text pointers. It addressed Git's poor fit for frequently changing large binary assets.

  83. 2015 Oct

    Red Hat announces agreement to acquire Ansible

    Red Hat announced it would acquire Ansible and positioned Ansible and Ansible Tower within its management portfolio, making a supported enterprise path parallel to the upstream project.

  84. 2015 Oct

    Red Hat announces the Ansible acquisition

    Red Hat announced an agreement to acquire Ansible and described Ansible and Ansible Tower as part of its management portfolio. Supported enterprise automation became a parallel path to the upstream project.

  85. 2015 Nov

    Docker 1.9 adds network plugins

    Docker introduced network plugins, separating its runtime from all possible network implementations. The change made networking extensibility an explicit runtime interface.

  86. 2015 Dec

    containerd 0.0 release line begins

    containerd began as a separately versioned runtime component before its stable 1.x line.

  87. 2016

    Ansible 2.0 changes playbook and plugin compatibility

    The 2.0 porting guide documented behavioral changes for playbooks, plugins, and the Python API. Existing automation needed compatibility review rather than assuming a version upgrade was transparent.

  88. 2016

    DORA founded

    Nicole Forsgren, Jez Humble, and Gene Kim founded DevOps Research and Assessment. The research program expanded the use of capability and performance evidence in DevOps improvement.

  89. 2016

    Grafana 3.0 expands the dashboard platform

    The 3.0 generation continued Grafana's move beyond its original Graphite focus. Practitioners increasingly treated Grafana as a common presentation layer for multiple operational data sources.

  90. 2016

    OCI image-spec work begins

    OCI began image-spec work from the Docker v2.2 image format, creating a neutral format for manifests, configuration, layers, and indexes.

  91. 2016

    Prometheus joins CNCF

    Prometheus joined the Cloud Native Computing Foundation as its second hosted project. Metrics collection and alerting became a prominent shared component of cloud-native operations.

  92. 2016

    Salt 2016.3 changes onchanges behavior

    The onchanges requisite began firing when any watched state changes. State authors needed to review dependency behavior when upgrading.

  93. 2016 Feb 4

    Docker 1.10 extends the Compose application model

    Docker 1.10 added support for defining networks and volumes in Compose files. Multi-container definitions could describe more of the resources an application needs.

  94. 2016 Feb 4

    Docker Engine 1.10 adopts content-addressable image storage

    Docker Engine 1.10 introduced content-addressable storage for images and layers. Digest-based identity became central to selecting exact image content.

  95. 2016 Mar

    containerd 0.1 release line begins

    The early runtime release line continued before the stable major API lifecycle.

  96. 2016 Mar

    Million Container Challenge on Nomad 0.3.1

    HashiCorp demonstrated large-scale Docker placement throughput, turning scheduling performance into a public proof point for Nomad.

  97. 2016 Mar

    UDP support added to the stream module

    NGINX 1.9.13 added UDP support to the stream module. The proxy role expanded beyond HTTP request handling to TCP and UDP traffic.

  98. 2016 Mar 10

    CNCF accepts Kubernetes as its first hosted project

    The foundation's Technical Oversight Committee takes on Kubernetes as CNCF's inaugural project, giving the desired-state model this course teaches a neutral governance home.

  99. 2016 Apr

    Google SRE book published

    The book collected release engineering practices including repeatable builds, testing, packaging, deployment, and configuration management. It framed release engineering as a system for safe high-velocity change.

  100. 2016 Apr

    Nomad 0.3.2 stabilizes the early 0.3 line

    Follow-on 0.3.x releases hardened the scheduler and client after the scale challenge, marking early production adoption of the job model.

  101. 2016 May

    CNCF accepts Prometheus

    CNCF accepted Prometheus as a hosted project. Its metric model became a widely used companion to traces for rates, errors, and latency distributions.

  102. 2016 May

    Prometheus joins CNCF

    CNCF accepted Prometheus as an incubating project. Metrics collection and alerting became a shared component of cloud-native operations.

  103. 2016 Jun

    Puppet Enterprise 2016.2 released

    Puppet version history records PE 2016.2.0 on June 21, 2016. The product continued its year-based release cadence, making supported-version planning part of platform operations.

  104. 2016 Jun 20

    Docker 1.12 introduces swarm mode

    Docker 1.12 added services and nodes for swarm mode to Docker Engine. The release distinguished multi-host orchestration concerns from running an individual container.

  105. 2016 Aug

    OpenTracing joins CNCF

    OpenTracing joined the CNCF in August 2016. Its API effort focused attention on portable instrumentation rather than backend-specific tracing code.

  106. 2016 Sep

    CNI 0.3 defines plugin chaining

    The CNI 0.3 specification added rich results and plugin chaining. Attachment, address allocation, and later network work could be composed through one runtime request.

  107. 2016 Oct

    CNCF accepts OpenTracing

    CNCF accepted OpenTracing as a hosted project. The project aimed to make tracing and context propagation consistent across loosely coupled microservices.

  108. 2016 Oct

    in-toto launches

    The in-toto project introduced a framework for securing the software supply chain with signed metadata. It broadened the focus from signing a final artifact to verifying authorized steps and their materials and products.

  109. 2017

    Accelerate published

    Accelerate summarized the early research program and emphasized capabilities that drive improvement. It gave teams a shared reference for discussing delivery performance and organizational practice.

  110. 2017

    Argo is created and open sourced

    The Argo project began as Kubernetes-native tooling for declarative application and workflow operation. Argo CD became the continuous-delivery component in that project family.

  111. 2017

    Grafana 4.0 adds a new plugin architecture

    Grafana 4.0 introduced a plugin architecture that supported the expanding range of data sources and visualizations. The dashboard became a surface for querying distinct backends rather than a fixed Graphite view.

  112. 2017

    in-toto framework introduced

    in-toto, a framework for ensuring the integrity of a software product from initiation to installation by recording what steps were performed, by whom, and in what order, was introduced from academic work at NYU. It became the chain-of-steps attestation model later adopted by SLSA and Sigstore.

  113. 2017

    Puppet 5.0 released

    Puppet 5 continued the major-version upgrade path for agents, modules, and platform components.

  114. 2017

    Salt 2017.7 documents master-first upgrades

    The release states that a minion must not be newer than its master because of fileclient changes. Upgrade planning therefore keeps masters ahead of minions while allowing older minions.

  115. 2017

    The ML Test Score defines production-readiness checks

    Google researchers published a rubric of 28 tests and monitoring needs for production ML systems. Testing expanded from source behavior into data, model, infrastructure, and monitoring concerns.

  116. 2017

    Trunk Based Development book site released

    The Trunk Based Development site was transformed into a book covering feature flags, branch by abstraction, short-lived branches, continuous integration, and continuous delivery.

  117. 2017 Jan 19

    Docker 1.13 supports Compose files in stack deployment

    Docker 1.13 added Compose-file support to docker stack deploy. A Compose-style application definition could describe services for swarm mode.

  118. 2017 Mar

    CNCF accepts containerd

    CNCF accepted containerd as an incubation project, giving the shared runtime a vendor-neutral foundation home.

  119. 2017 Apr

    Gradle 3.5 introduced build caching

    Gradle 3.5 introduced its build cache feature. Task outputs could be reused locally and shared between machines when task inputs formed a matching cache key.

  120. 2017 Apr

    Packer 1.0 is released

    Packer 1.0 formalized a stable image-building workflow for cloud platforms, virtual machines, and containers. The release marked image construction as a mature deployment concern.

  121. 2017 May

    AWX is open-sourced as Tower's upstream

    Red Hat open-sourced AWX as the upstream project for Ansible Tower, separating community controller development from the commercial Tower offering built from selected AWX releases.

  122. 2017 Jun 29

    Kubernetes 1.7 adds CustomResourceDefinitions

    CRDs replace the earlier ThirdPartyResource mechanism, letting teams extend the kube-apiserver with their own object kinds instead of working only with what ships in core.

  123. 2017 Jul

    Apache 2.2 maintenance ends

    Apache HTTP Server 2.2.34 was published as the final 2.2 maintenance release, with the project directing remaining deployments to the supported 2.4 line.

  124. 2017 Jul

    Argo begins development

    The Argo project repository records its first commit in July 2017. The project started as Kubernetes-native tools for running workflows and related operational work.

  125. 2017 Jul

    Argo development begins

    The Argo project records its first commit in July 2017. Its Kubernetes-native controller approach became the shared foundation for the later project family.

  126. 2017 Jul

    OCI Image Specification v1.0 is released

    OCI released version 1.0 of its image format specification, creating a common target for compatible image tools.

  127. 2017 Jul

    OCI releases version 1.0 container standards

    OCI released version 1.0 of its runtime and image-format specifications. A vendor-neutral image format made digest-addressed container artifacts a shared verification subject.

  128. 2017 Aug 2

    Terraform v0.10 separates provider distribution

    Terraform v0.10 changed provider distribution so providers could be released separately from the Terraform CLI. Provider selection became a distinct dependency concern for configuration authors.

  129. 2017 Sep

    Jaeger joins CNCF

    Jaeger joined CNCF in September 2017. The project made an open tracing backend available within the cloud-native ecosystem.

  130. 2017 Sep

    NIST published SP 800-190

    NIST published the Application Container Security Guide. It framed container security across images, registries, orchestrators, containers, and hosts rather than as one scanner or runtime flag.

  131. 2017 Sep

    NIST publishes SP 800-190

    NIST published the Application Container Security Guide. It documented image, registry, orchestrator, container, and host risks and countermeasures.

  132. 2017 Oct 17

    Docker adds native Kubernetes orchestration

    Docker Enterprise Edition folds unmodified upstream Kubernetes in alongside Swarm, conceding that the object model this course introduces had become the default rather than one option among several.

  133. 2017 Nov

    OCI Image Specification 1.0.1 is released

    OCI released version 1.0.1 of the Image Specification. A stable format specification gave registries and tools a common model for manifests, configurations, and layers.

  134. 2017 Nov 29

    AWS previews Amazon EKS

    AWS announces a managed control plane for Kubernetes at re:Invent, the first sign that the major clouds would sell Kubernetes's control plane as a service rather than leave operators to run etcd and kube-apiserver themselves.

  135. 2017 Dec

    containerd 1.0 release line begins

    Version 1.0 started the first stable major release line and its support lifecycle.

  136. 2017 Dec

    Kubeflow is open sourced

    Kubeflow brought portable ML workflows to Kubernetes and provided a shared platform for training and deployment components. Its later pipeline system became a target for ML workflow automation.

  137. 2018

    Argo CD and Argo Events follow

    Argo CD and Argo Events followed Workflows during 2018. The family then covered Git-based delivery and event-driven requests as separate controller responsibilities.

  138. 2018

    DORA publishes an independent report

    DORA published Accelerate State of DevOps: Strategies for a New Economy as an independent report. Puppet continued a separate report series, separating the two research streams.

  139. 2018

    Google Cloud acquires DORA

    Google Cloud acquired DORA late in 2018. The platform-agnostic research continued within Google Cloud.

  140. 2018

    Grafana 5.0 refreshes dashboard editing

    Grafana 5.0 changed the dashboard editing experience and introduced a new visual foundation. The work reinforced the distinction between editing panels and reading an operational dashboard.

  141. 2018

    OpenCensus unifies tracing and metrics libraries

    OpenCensus provided common libraries for collecting traces and metrics. It represented a parallel standardization path that later converged with OpenTracing.

  142. 2018

    Salt 2018.3 completes the Oxygen feature-release line

    The release notes preserve the feature-release line following Nitrogen. Practitioners continued to treat state syntax and module behavior as versioned operational contracts.

  143. 2018 Jan

    Argo Workflows is open sourced

    Argo Workflows became the first open-sourced component. It established container task graphs as a Kubernetes custom-resource concern.

  144. 2018 Mar

    Argo Workflows v2.0 establishes the Workflow API

    The v2.0 release introduced the versioned Workflow API used for container task graphs. This made workflows a Kubernetes custom-resource interface rather than an external scheduler definition.

  145. 2018 Mar

    Native gRPC proxy support

    NGINX Open Source 1.13.10 introduced native gRPC traffic support. A proxy configuration could then route and balance HTTP/2-based RPC calls.

  146. 2018 Mar 6

    Kubernetes becomes CNCF's first graduated project

    CNCF certifies Kubernetes as having thriving adoption and a documented governance process — the first project to clear the foundation's graduation bar.

  147. 2018 Apr

    CNI 0.4 adds CHECK

    CNI 0.4 introduced the CHECK command and passed prior results on DEL. Runtimes and plugins gained a clearer way to validate and clean up an attachment lifecycle.

  148. 2018 Apr

    containerd 1.1 release line begins

    The 1.1 branch began the minor-release sequence after the stable 1.0 line.

  149. 2018 May

    Puppet Enterprise 2018.1 released

    Puppet version history records PE 2018.1.0 on May 1, 2018. This marked another maintained year-based line for teams scheduling infrastructure and agent upgrades.

  150. 2018 Jun

    Git 2.18 introduces partial clone

    Git 2.18 added partial clone support, allowing a client to omit objects and obtain them later. This made large repositories more practical when a full object download was unnecessary.

  151. 2018 Jun

    MLflow launches

    Databricks launched MLflow to address experimentation, reproducibility, and deployment across ML libraries. Its artifact and lifecycle interfaces supplied release systems with stable model identities and run metadata.

  152. 2018 Jun

    Pulumi launches

    Pulumi launched with an open-source, multi-language approach to cloud infrastructure. It broadened IaC choices beyond dedicated configuration languages and templates.

  153. 2018 Jun 5

    Amazon EKS reaches general availability

    AWS's managed control plane leaves preview, joining Google's and soon Azure's equivalents and cementing "rent the control plane, run your own nodes" as the default way most teams meet Kubernetes.

  154. 2018 Jun 18

    Pulumi launched

    Pulumi launched as an open-source cloud development platform using general-purpose programming languages for cloud infrastructure.

  155. 2018 Jul

    Docker distribution merges OCI image support

    The open source Docker distribution registry merged handlers for OCI image manifests and indexes, bringing OCI media types into established registry paths.

  156. 2018 Jul 18

    Docker Engine 18.06 offers an experimental BuildKit backend

    Docker Engine 18.06 introduced an experimental builder backend based on BuildKit. The build path gained a newer implementation for producing container images.

  157. 2018 Aug

    Prometheus graduates from CNCF

    Prometheus moved to the CNCF Graduated maturity level. Its label-based metric model had become established in cloud-native monitoring practice.

  158. 2018 Sep

    Azure DevOps brand replaces VSTS

    Microsoft announces Azure DevOps, renaming the cloud service to Azure DevOps Services and presenting Pipelines, Boards, Repos, Artifacts, and Test Plans as named services.

  159. 2018 Sep

    Git 2.19 adds range-diff

    Range-diff made it practical to compare two versions of a patch series after a rebase or review revision.

  160. 2018 Sep

    Kubernetes 1.12 introduced RuntimeClass alpha

    Kubernetes 1.12 introduced the RuntimeClass feature in alpha. A workload could begin selecting a runtime class, making stronger isolation a scheduling and platform decision.

  161. 2018 Sep 18

    Puppet 6.0 released

    Puppet 6 moved selected resource types out of core into modules and tightened upgrade compatibility work.

  162. 2018 Oct

    GitHub Actions entered public beta

    GitHub introduced Actions as workflow automation that could build, package, release, update, and deploy projects. Repository-hosted automation became a common surface for delivery pipelines.

  163. 2018 Oct

    GitHub announces GitHub Actions in beta

    GitHub announced Actions as a way to automate and customize development workflows from the repository platform. CI configuration could now sit directly beside pull requests, source, and repository events.

  164. 2018 Oct

    Limited public beta opens

    GitHub introduced GitHub Actions as a limited public beta. Repository automation became a first-class GitHub capability.

  165. 2018 Oct

    Puppet Enterprise 2019.0 released

    Puppet version history records PE 2019.0.0 on October 9, 2018. The 2019 line became the compatibility anchor for its associated Puppet, Puppet Server, and PuppetDB long-term releases.

  166. 2018 Nov

    W3C publishes the first Trace Context working draft

    The W3C Distributed Tracing Working Group published its first Trace Context draft. It defined portable HTTP headers for carrying trace identity across tool boundaries.

  167. 2018 Dec 3

    kubeadm reaches general availability

    Kubernetes 1.13 makes kubeadm stable, giving operators a first-party, certified path to bootstrap the control plane and node components this course's architecture section describes, instead of assembling them by hand.

  168. 2019

    Argo Rollouts joins the project family

    Argo Rollouts followed in 2019. Progressive delivery became a separate control loop for canary and blue-green release decisions.

  169. 2019

    OpenTracing and OpenCensus form OpenTelemetry

    OpenTracing and OpenCensus merged to form OpenTelemetry. The new project created a shared home for instrumentation across telemetry signals, including metrics.

  170. 2019

    Reproducible builds gain adoption

    Reproducible builds — building the same source into byte-identical artifacts — moved from a Debian project to a widely-adopted property that toolchains like F-Droid, Bitcoin Core, and NixOS used to make provenance verifiable. It made the digest-tie this course relies on meaningful.

  171. 2019

    Salt 2019.2 publishes the Fluorine release

    The Fluorine release continued Salt's calendar-versioned feature releases. The documentation records compatibility and behavior changes as part of the release contract.

  172. 2019 Jan

    Argo CD reaches version 1.0

    Argo CD established a stable major-version line for its GitOps application controller. Practitioners could adopt an Application-based reconciliation model rather than treating it as an experimental integration.

  173. 2019 Jan

    in-toto releases its Jenkins plugin

    The first official in-toto Jenkins plugin recorded and signed link metadata for pipeline steps. This made signed supply-chain evidence available inside a common CI system.

  174. 2019 Feb

    containerd graduates from CNCF

    CNCF promoted containerd to graduated status after adoption, governance, and security review requirements were met.

  175. 2019 Feb 28

    containerd graduates from CNCF

    containerd graduated from CNCF as a container runtime that manages image transfer, storage, execution, supervision, and host attachments. Its adoption reinforced the separation between higher-level engines and runtime lifecycle services.

  176. 2019 Mar

    Azure DevOps Server 2019 ships

    The on-premises product line adopts the Azure DevOps Server name, aligning server branding with Azure DevOps Services after the 2018 cloud rename.

  177. 2019 Mar

    The ease.ml/ci paper presents an ML-specific CI system

    The paper described continuous integration gates that account for model quality rather than source tests alone. It formalized the need to treat a proposed ML change as a statistical release decision.

  178. 2019 Apr

    Release Please repository created

    Google's Release Please project automated Conventional Commits–based changelog and version pull requests for multi-language repos.

  179. 2019 May

    Argo Workflows v2.5 adds DAG task dependencies

    The v2.5 release documented DAG dependency handling alongside the existing Steps form. Practitioners could model available parallelism through explicit task relationships.

  180. 2019 May

    Multi-stage YAML pipelines and Environments

    Azure Pipelines promotes multi-stage YAML for CI and CD together, introducing Environments and deployment strategies so release definitions can live beside application code.

  181. 2019 May

    OpenTelemetry formed from OpenCensus and OpenTracing

    The merged project established a vendor-neutral observability effort. It created a shared context for logs, metrics, and traces rather than treating each signal as an isolated tool.

  182. 2019 May

    OpenTelemetry merges OpenTracing and OpenCensus

    OpenTelemetry formed from the OpenTracing and OpenCensus projects. The merger combined tracing and telemetry instrumentation work into one vendor-neutral project.

  183. 2019 May 22

    Terraform v0.12 overhauls the language

    Terraform v0.12 introduced a redesigned language with first-class expressions and richer values. Existing configurations could require upgrade work because the parser and language model became stricter.

  184. 2019 Jun 10

    Pulumi Crosswalk for AWS introduced

    Crosswalk introduced higher-level AWS components intended to encode common infrastructure patterns and defaults.

  185. 2019 Jul

    Collections become the future content-delivery model

    The project announced collections as the future distribution format for modules, plugins, roles, and playbooks, and added collection support in Ansible 2.9. Namespaces began to matter directly in playbook references.

  186. 2019 Aug

    CI/CD beta adds hosted runners

    The beta added built-in CI/CD with hosted Linux, macOS, and Windows runners. This established the runner model for build and test jobs.

  187. 2019 Aug

    Git 2.23 adds switch and restore

    The new commands separated branch switching and file restoration from the overloaded checkout command.

  188. 2019 Aug

    Git 2.23 introduces switch and restore

    Git 2.23 introduced `git switch` and `git restore` to separate branch switching from path restoration formerly combined in `git checkout`. The commands made state-changing intent more explicit.

  189. 2019 Sep

    Red Hat announces Ansible Automation Platform

    At AnsibleFest, Red Hat announced Ansible Automation Platform as a single subscription combining Tower, Engine, network automation, and new SaaS capabilities such as Automation Hub and Analytics, with availability planned for early November 2019.

  190. 2019 Sep 5

    Pulumi 1.0 reached general availability

    The 1.0 release established a stable infrastructure-as-code workflow based on desired resources and planned CRUD operations.

  191. 2019 Nov

    GitHub Actions became generally available

    General availability added a broadly accessible CI and delivery platform tied to repository events. Teams could standardize automated gates and artifact-handling steps close to source control.

  192. 2019 Nov

    GitHub Actions reaches general availability

    GitHub made Actions generally available and announced self-hosted runners, artifact caching, and ARM support. Teams could choose hosted or self-managed execution while keeping workflow definitions in GitHub.

  193. 2019 Dec

    EC2 Image Builder becomes available

    AWS introduced a managed service for creating, patching, testing, distributing, and sharing server images. Image maintenance could move from manual snapshots into an automated pipeline.

2020s

142 milestones

  1. 2020

    Azure DevOps Server 2020 release line

    The on-premises server continues on a regular major cadence as Azure DevOps Server 2020, tracking cloud features for customers who must keep the control plane in their datacenter.

  2. 2020

    Salt 3000 begins the Neon release line

    Salt moved from the 2019 calendar series to the 3000-series release naming. Version-aware review remained necessary for states, modules, and deployment automation.

  3. 2020 Mar

    Argo enters CNCF incubation

    CNCF accepted Argo at the incubating maturity level in March 2020. The four projects continued under a shared open-source governance context while retaining independent responsibilities.

  4. 2020 Mar

    Argo enters the CNCF at incubating maturity

    CNCF accepted Argo at the incubating maturity level. The project gained CNCF governance while its workflow engine continued as part of the Argo family.

  5. 2020 Mar

    Autoscaling APIs enable the Nomad Autoscaler

    Nomad 0.11-era APIs unlocked a separate Autoscaler agent for horizontal application and cluster scaling from metrics.

  6. 2020 Mar

    Kubeflow 1.0 is released

    Kubeflow declared a stable core for developing, training, and deploying models on Kubernetes. Teams gained a versioned platform target for repeatable ML pipeline execution.

  7. 2020 Mar

    Nomad 0.11 introduces CSI (beta)

    Container Storage Interface support let jobs consume third-party volumes through controller and node plugins, including Kubernetes CSI plugins.

  8. 2020 Apr

    Argo enters the CNCF incubator

    CNCF accepted the Argo project into incubation. The project then operated with a wider open-source governance and ecosystem context.

  9. 2020 Apr

    NIST publishes SSDF version 1.0

    NIST published secure-development practices intended to integrate with each software development lifecycle implementation.

  10. 2020 Apr

    Version 1.5 adds Helm 3 support

    Argo CD added native Helm 3 chart rendering while retaining its role as the application lifecycle controller. Helm sources became another path to rendered target state.

  11. 2020 Apr 7

    The Compose Specification is announced

    Docker announced an open Compose Specification community with cloud and platform providers. A multi-container application definition could evolve independently of one implementation.

  12. 2020 Apr 21

    Pulumi 2.0 released

    Pulumi 2.0 expanded language SDK coverage and added team-oriented capabilities including policy as code and testing support.

  13. 2020 May

    Grafana 7.0 brings a revised user interface

    Grafana 7.0 updated the user interface and visualization workflow. It marked a shift toward a more consistent editing and data-exploration experience across dashboard work.

  14. 2020 Jun

    Cloudflare publishes edge Nomad deployment

    Cloudflare described running Nomad for management services across many edge sites, documenting failure-domain constraints and Consul discovery patterns operators still cite.

  15. 2020 Jul

    Continuous Machine Learning is released

    The DVC team released CML to run ML training and evaluation within GitHub and GitLab CI workflows. Metrics, plots, and parameter changes could become review evidence in pull and merge requests.

  16. 2020 Jul

    Git 2.28 adds initial-branch configuration

    The init.defaultBranch setting let organizations choose a default branch name for newly initialized repositories.

  17. 2020 Jul

    Git 2.28 makes the initial branch configurable

    Git 2.28 made the default name of a newly created repository's initial branch configurable. Existing repositories retained their own primary branch names.

  18. 2020 Aug

    containerd 1.4 release line begins

    Version 1.4 deprecated Runtime V1 and its runc v1 implementation in favor of Runtime V2 and runc v2.

  19. 2020 Aug 10

    Terraform v0.13 adds provider namespaces and module meta-arguments

    Terraform v0.13 added automatic installation for third-party providers and allowed count, for_each, and depends_on on modules. Provider source addresses and reusable module composition became more explicit.

  20. 2020 Sep

    Ansible 2.10 reaches general availability

    The 2.10 schedule set its general-availability date for September 22. The release package was assembled from collection versions with compatibility rules instead of treating all content as one repository.

  21. 2020 Sep

    Argo Workflows v2.12 adds workflow archive support

    The v2.12 release included workflow archive capabilities. Long-lived execution records could move beyond retained live Workflow objects into database-backed archival.

  22. 2020 Oct

    Git 2.29 brings Scalar into Git

    Scalar entered Git as a contribution for managing large working repositories, extending workflow concerns beyond branch operations alone.

  23. 2020 Oct

    Platform framing emphasizes hub and analytics services

    Red Hat described the prior November launch as unifying Tower and Engine under Ansible Automation Platform with hosted Automation Hub and Automation Analytics as shared services for enterprise operators.

  24. 2020 Oct 19

    Automation API introduced

    Automation API exposed programs, stacks, and lifecycle operations through language SDKs for embedded infrastructure automation.

  25. 2020 Dec

    Amazon SageMaker Pipelines becomes generally available

    AWS introduced managed ML workflow orchestration, model registration, approval workflows, lineage, and MLOps templates together. CI/CD for models became a packaged capability inside a major managed ML platform.

  26. 2020 Dec

    Environments add deployment protection rules

    Environments added protection rules and scoped secrets to deployment targets. Deployment approval became workflow configuration.

  27. 2020 Dec

    Nomad 1.0 GA and Two Million Container Challenge

    General availability added HCL2 jobspecs and namespaces in open source. The parallel scale challenge placed two million containers across roughly six thousand hosts in ten AWS regions.

  28. 2020 Dec

    SolarWinds Orion supply chain attack disclosed

    A compromised build of SolarWinds Orion, distributed through a signed update, was used to compromise roughly 18,000 customers including US government agencies. The attack made supply chain integrity a board-level concern and shifted attention from "is the source safe" to "is the build that produced the artifact safe."

  29. 2020 Dec

    Version 1.8 is released

    The 1.8 release extended the established 1.x line before the next major release. Its release notes preserve the operational upgrade history practitioners use when maintaining older installations.

  30. 2020 Dec 2

    Terraform v0.14 adds sensitivity propagation and lock files

    Terraform v0.14 propagated sensitive input markings through expressions and generated a dependency lock file during init. Teams could preserve provider selections alongside configuration in version control.

  31. 2020 Dec 8

    Kubernetes 1.20 deprecates dockershim

    The kubelet's built-in Docker Engine support is marked for removal in favor of CRI-compliant runtimes, a reminder that the container runtime is a pluggable node component, not part of Kubernetes itself.

  32. 2021

    Ansible 3 begins the community-package version line

    The release-and-maintenance reference records Ansible 3 as the community package paired with ansible-core 2.10. Practitioners now need to distinguish the package release from the underlying runtime version.

  33. 2021

    Deferred functions documented for Puppet 6

    Deferred functions made selected evaluation possible on the agent during enforcement rather than central compilation.

  34. 2021

    Salt 3003 publishes the Aluminium release

    The 3003 release continued the numbered release family documented by the project. Its release notes provide the change record needed before updating masters and minions.

  35. 2021

    Sigstore announced and Cosign released

    Sigstore, with its Cosign client, Fulcio certificate authority, and Rekor transparency log, was released to bring keyless identity-bound signing and an auditable signing log to open-source artifacts, removing the key-management barrier that had kept signing rare.

  36. 2021

    SLSA v0.1 draft released

    SLSA (Supply-chain Levels for Software Artifacts) was first published as a draft by Google and the community, naming the build levels and source expectations that became the vocabulary for describing supply chain security guarantees.

  37. 2021 Mar

    Sigstore project publicly launched

    The Sigstore project officially launches with a mission to make code signing accessible through free tools, APIs, and services.

  38. 2021 Apr

    Argo CD 2.0 is announced

    Argo CD 2.0 established a new major delivery-controller line. Operators gained a clear upgrade boundary for the Application reconciliation component.

  39. 2021 Apr

    Kubernetes deprecated PodSecurityPolicy

    Kubernetes announced PodSecurityPolicy deprecation in 1.21 and directed users toward Pod Security Admission or third-party admission plugins. Policy enforcement moved toward a replacement model with explicit migration work.

  40. 2021 Apr

    OCI Distribution Specification v1.0 is released

    OCI published version 1.0 of the distribution specification for registry manifest and blob distribution.

  41. 2021 Apr

    Workflow and job concurrency controls arrive

    GitHub added concurrency controls for workflow runs and jobs. Teams could cancel or queue overlapping work through YAML.

  42. 2021 May

    Executive Order 14028 emphasizes supply-chain security

    The order established baseline security standards for software sold to the US government and called for greater software visibility.

  43. 2021 May

    US Executive Order 14028 on supply chain security

    The order required federal agencies to adopt SBOMs and secure software development practices, making the software bill of materials a procurement requirement and pulling SSDF, SLSA, and SBOM tooling into mainstream adoption.

  44. 2021 May 5

    OCI Distribution Specification v1.0.0 is released

    OCI released the Distribution Specification version 1.0.0. Registry interactions gained a standard companion to the image and runtime specifications.

  45. 2021 May 12

    U.S. executive order directs SBOM publication guidance

    Executive Order 14028 directed the publication of minimum elements for an SBOM. Component inventory became a formal supply-chain security expectation for software producers.

  46. 2021 May 19

    Sigstore is introduced

    Sigstore was introduced as a public-good software signing service. Keyless signing and transparent verification became available for software supply-chain artifacts.

  47. 2021 Jun

    Argo Workflows v3.1 updates the major release line

    The v3.1 release continued the v3 API and controller line. Operators had to treat controller, server, CLI, and Kubernetes compatibility as a coordinated upgrade concern.

  48. 2021 Jun

    Grafana 8.0 introduces unified alerting

    Grafana 8.0 introduced an opt-in alerting experience that centralized Grafana-managed and Prometheus-compatible alert information. Alerting became a system-level workflow rather than only a panel setting.

  49. 2021 Jun

    Puppet Enterprise 2021.2 added security controls

    PE 2021.2 added a certificate-revocation-list update API and an argon2id option for new password storage. These changes made certificate and local-account policy part of an upgrade review.

  50. 2021 Jun

    Sigstore holds its first root-key ceremony

    Sigstore established a public trust root for its signing infrastructure. The project advanced an identity-based approach using shared trust services instead of per-project long-lived signer-key distribution.

  51. 2021 Jun

    SLSA v0.1 released

    SLSA published an initial framework for describing software supply-chain assurances. Provenance and build-platform properties became explicit release evidence rather than undocumented pipeline behavior.

  52. 2021 Jun

    Terraform 1.0 reaches general availability

    Terraform 1.0 marked a stable interface after years of production use. Infrastructure definitions and state management had become an established foundation for repeatable provisioning.

  53. 2021 Jun 8

    Terraform v1.0 establishes v1.x compatibility commitments

    Terraform v1.0 made stability the release's primary focus and defined compatibility promises for the language, CLI workflow, provider protocol, and installation protocols.

  54. 2021 Aug

    Cosign 1.0 released

    Cosign reaches general availability after seven releases in six months, supporting signing and verification across 13 OCI registries.

  55. 2021 Aug

    OpenTelemetry reaches CNCF incubation

    OpenTelemetry became a CNCF incubating project. Its tracing APIs, SDKs, Collector, and exporters increasingly provided a shared collection path for multiple backends.

  56. 2021 Aug

    OpenTracing moves to archived status

    CNCF moved OpenTracing to archived maturity status. The transition signaled that new standardization work had moved to OpenTelemetry.

  57. 2021 Aug

    Version 2.1 introduces Argo CD Core

    Argo CD Core packaged the core GitOps features while relying on Kubernetes API and RBAC for the interface and command-line experience. This made a lighter distribution option explicit.

  58. 2021 Sep

    CNI 1.0 declares API stability

    CNI 1.0 declared the attachment API stable while retaining the separation between the specification and a complete cluster network. Practitioners could treat the contract as a durable integration boundary.

  59. 2021 Sep

    Ephemeral self-hosted runners support autoscaling

    Ephemeral runners and workflow_job webhooks enabled single-job self-hosted runners that autoscalers can manage.

  60. 2021 Sep

    OpenTelemetry collector metrics components become stable

    The OpenTelemetry protocol changelog marked collector metrics components stable. Metric collection pipelines gained a stable interoperability point.

  61. 2021 Sep

    OpenTelemetry Collector reaches tracing stability

    The OpenTelemetry project reported its Collector's first general availability release and a tracing stability milestone. Collection, processing, and export became a stable pipeline concern alongside application instrumentation.

  62. 2021 Sep 16

    Pulumi 3.0 announced

    Pulumi 3.0 added multi-language component packages, making reusable infrastructure components available across supported languages.

  63. 2021 Oct

    AAP 2 renames Tower to automation controller

    Ansible Automation Platform 2 introduced automation controller 4.0 as the renamed, re-architected successor to Ansible Tower, with decoupled control and execution planes.

  64. 2021 Oct

    Execution environments become the job runtime

    AAP 2 made containerized execution environments the runtime for automation, replacing the older pattern of managing conflicting Python virtualenvs on shared controller hosts.

  65. 2021 Nov

    Reusable workflows become generally available

    Reusable workflows gained outputs, environment-secret support, and audit-log visibility. Organizations could centralize workflow logic.

  66. 2021 Dec

    AAP 2.1 continues the controller and mesh roadmap

    AAP 2.1 continued the post-Tower platform line, including roadmap work such as restoring isolated-style remote execution patterns on the new architecture after 2.0's early-access constraints.

  67. 2021 Dec 8

    Terraform v1.1 adds moved blocks

    Terraform v1.1 introduced moved blocks so module authors could record resource address changes in configuration. Planning could then migrate matching state addresses without a separate manual state move.

  68. 2022

    Sigstore reaches general availability

    Sigstore's public-good signing service reached general availability, with PyPI, npm, Kubernetes, and Docker Hub adopting keyless signing for releases. It made ephemeral identity-bound signing a default expectation for open-source releases rather than a research project.

  69. 2022

    zsh rises alongside Bash

    zsh grows in popularity, driven partly by oh-my-zsh and by macOS shipping it as the default login shell, keeping the shell world plural.

  70. 2022 Feb

    containerd 1.6 release line begins

    The 1.6 branch made maintained version selection an explicit operational concern.

  71. 2022 Feb

    NIST SP 800-218 SSDF version 1.1 becomes final

    SP 800-218 replaced the original SSDF white paper and added secure-environment, provenance, and requirements guidance.

  72. 2022 Apr 26

    Docker Compose v2 reaches general availability

    Docker Compose v2 became generally available and the docker compose form became the documented standard. Compose moved into the Docker CLI as a Go implementation.

  73. 2022 May

    Nomad 1.3 expands native service discovery

    Built-in Nomad services reduced the requirement to run Consul for basic discovery, while Consul integration remained first-class.

  74. 2022 May

    OpenTelemetry metrics reaches 1.0 release candidates

    The project announced metrics release candidates with shared metadata and semantic conventions alongside tracing. The Collector could also receive OpenTelemetry and Prometheus-compatible metrics.

  75. 2022 May

    OpenTelemetry metrics reaches release candidates

    OpenTelemetry announced metrics release candidates for language APIs and SDKs. The Collector could receive both OpenTelemetry and Prometheus- compatible metrics.

  76. 2022 May 3

    Dockershim is removed from the kubelet

    Kubernetes 1.24 finishes the transition begun in 1.20: clusters now need containerd, CRI-O, or another CRI-compliant runtime, with Docker-built images continuing to run unchanged since they follow the OCI image spec.

  77. 2022 May 4

    Pulumi YAML introduced

    Pulumi added a YAML runtime for smaller declarative definitions while retaining core features such as resources, outputs, providers, and stacks.

  78. 2022 Jun

    Grafana 9 makes Grafana Alerting the default

    Grafana 9 made the unified alerting system the default experience. Teams needed to manage alert rules, routing, grouping, and state as an operational contract.

  79. 2022 Aug

    Kubernetes removed PodSecurityPolicy

    Kubernetes removed the PodSecurityPolicy API in 1.25. Clusters relying on it had to use Pod Security Admission or another admission solution to keep workload restrictions enforced.

  80. 2022 Oct

    Git 2.38 includes Scalar

    Git 2.38 included Scalar, a tool for configuring and maintaining large repositories. The release reflected continued work on Git workflows at monorepo scale.

  81. 2022 Oct

    Git 2.38 makes Scalar a built-in command

    Scalar became a built-in command, bringing large-repository configuration and maintenance closer to standard Git distribution.

  82. 2022 Oct

    Nomad 1.4 adds Variables and service checks

    Encrypted Nomad Variables stored configuration in the state store, and native services gained health checks comparable to Consul checks.

  83. 2022 Nov

    Python 3.11 signed with Sigstore

    Python 3.11 is one of the first major Python releases to be signed with Sigstore by default, demonstrating adoption by a top-tier open-source ecosystem.

  84. 2022 Nov 2

    Pulumi Deployments and YAML GA announced

    Pulumi announced managed deployments and the general availability of Pulumi YAML, extending how updates could be initiated and authored.

  85. 2022 Dec

    Argo graduates from CNCF

    CNCF moved Argo to graduated maturity in December 2022. The milestone reflected sustained project maturity across the controller family.

  86. 2022 Dec

    Argo graduates from the CNCF

    CNCF moved Argo to graduated maturity on December 6, 2022. Graduation reflected project maturity and governance across the Argo project family.

  87. 2023

    SLSA v1.0 published

    SLSA v1.0 finalized the Build track with levels L0 through L3 and separated source concerns into a Source track, giving the specification a stable target that producers and consumers could certify against.

  88. 2023 Jan

    Argo Workflows v3.4 is released

    The v3.4 release continued the maintained Workflow controller line. Operators had to preserve compatibility checks across controller, CLI, stored templates, and Kubernetes versions.

  89. 2023 Feb

    Version 2.7 changes extension and rendering boundaries

    Version 2.7 added Proxy Extensions and updated bundled Helm and Kustomize versions. Upgrades required an RBAC review because wildcard policies could grant the new extension privilege.

  90. 2023 Mar

    containerd 1.7 LTS release line begins

    Version 1.7 began as an LTS line for longer-lived runtime support planning.

  91. 2023 Apr

    Meta open-sourced Buck2

    Meta released Buck2 as an open source large-scale build system. It described a single incremental dependency graph with remote-execution integration.

  92. 2023 Apr

    npm provenance enters public beta

    npm introduces Sigstore-powered provenance in public beta, enabling package maintainers to link packages to source and build instructions via SLSA attestations.

  93. 2023 Apr

    OpenTelemetry published its Logs Data Model specification

    The specification defined a common log-record model with timestamps, severity, body, resource, attributes, and trace context. It gives structured logging pipelines a portable vocabulary for record fields.

  94. 2023 Apr

    Salt 3006 LTS is released

    The Salt Project announced Salt 3006.0 as an LTS release. The LTS designation gives operators a distinct release track to evaluate for longer-lived installations.

  95. 2023 Apr

    SLSA v1.0 finalized

    SLSA v1.0 established a stable Build track and clarified provenance, distribution, and verification guidance. Supply-chain requirements could then be adopted as incremental, verifiable release controls.

  96. 2023 Apr

    SLSA version 1.0 becomes final

    SLSA published its first stable version and added explicit verification guidance for provenance. The milestone reinforced that producing signed evidence is insufficient unless consumers compare it with expectations.

  97. 2023 Apr 19

    SLSA version 1.0 becomes final

    SLSA released its first stable version. Provenance moved toward a stable, verifiable contract for build inputs, builder identity, and artifact subjects.

  98. 2023 May

    Experimental QUIC and HTTP/3 support

    NGINX 1.25.0 introduced experimental HTTP/3 support. Deployments adopting the newer transport needed an HTTP/3-capable build and configuration.

  99. 2023 May

    OpenCensus is retired in favor of OpenTelemetry

    OpenTelemetry reported stable Metrics SDK releases for major languages and began archiving OpenCensus repositories. Existing instrumentation could migrate toward the combined telemetry ecosystem.

  100. 2023 Jun

    Puppet Enterprise 2023.2 released

    Puppet version history records PE 2023.2.0 on June 7, 2023. The 2023 release family gave teams a new major line to assess alongside the existing 2021 LTS track.

  101. 2023 Jun 12

    Terraform v1.5 makes imports part of planning

    Terraform v1.5 added import blocks and configuration generation for imports. Adopting an existing object could be reviewed in the normal plan and apply workflow.

  102. 2023 Jul

    OCI publishes planned Image and Distribution v1.1 changes

    OCI described reference-type work for relating objects stored in registries before the paired minor releases.

  103. 2023 Sep

    Linux Foundation launches OpenTofu

    The Linux Foundation announced OpenTofu as an open-source alternative to Terraform. IaC selection now included project governance and license posture alongside language and provider support.

  104. 2023 Sep

    npm provenance reaches general availability

    npm provenance goes GA after over 3,800 projects and 134 high-impact projects adopted it during the public beta, with 500 million total downloads of provenance-enabled versions.

  105. 2023 Sep

    OpenTofu is announced

    OpenTofu was announced as an open-source fork of Terraform after HashiCorp changed Terraform's license. Teams gained another state-and-provider workflow for reviewing and applying infrastructure definitions.

  106. 2023 Oct

    GitHub launches Artifact Attestations

    GitHub introduces Artifact Attestations in public beta, creating tamper-proof provenance for software built on GitHub Actions using Sigstore's public-good and private instances.

  107. 2023 Oct 4

    Terraform v1.6 adds the terraform test framework

    Terraform v1.6 added a native test framework for validating Terraform modules and configurations. Module authors gained a workflow for checking expected behavior before consumers run a production plan.

  108. 2023 Oct 10

    Pulumi ESC introduced

    Pulumi introduced ESC for composing environments, secrets, and configuration across infrastructure and application tools.

  109. 2023 Dec

    Artifacts v4 becomes generally available

    Artifact v4 made uploaded artifacts job-scoped and immutable. Artifact transfer needed to account for its compatibility boundary with earlier versions.

  110. 2023 Dec

    Kubernetes made user namespaces beta

    Kubernetes 1.28 promoted user namespaces for pods to beta. The feature adds a mapping between container and host user IDs, strengthening the non-root and shared-kernel isolation story for supported workloads.

  111. 2024

    Event-Driven Ansible reaches broad platform availability

    Ansible Automation Platform 2.4 made Event-Driven Ansible generally available so rulebook activations could start automation from event sources beside scheduled and manual job launches.

  112. 2024

    POSIX.1-2024 publishes Issue 8

    POSIX.1-2024 updates the current Shell and Utilities specification and its rationale. It remains the modern reference for portable shell grammar and utility behavior.

  113. 2024 Jan 17

    Terraform v1.7 expands removal and test workflows

    Terraform v1.7 added removed blocks for declaring that Terraform should stop managing an object without destroying it, and continued expanding the test workflow. State transitions became more expressible in configuration.

  114. 2024 Feb

    OCI Image and Distribution Specifications v1.1 are released

    OCI released version 1.1.0 of both specifications, advancing support for relationships between stored OCI objects.

  115. 2024 Mar

    Argo Workflows v3.5 is released

    The v3.5 release advanced the v3 line. Its release history kept upgrade planning focused on tested controller and workflow behavior rather than the shared Argo name alone.

  116. 2024 Mar

    Salt 3007 STS is released

    The Salt Project announced Salt 3007 as an STS release alongside the existing LTS line. Operators now choose between the short-term and long-term support tracks when planning upgrades.

  117. 2024 Mar

    Sigstore graduates from OpenSSF

    Sigstore becomes a graduated project within the Open Source Security Foundation, demonstrating stability, governance, and widespread adoption across the software supply chain.

  118. 2024 Mar

    XZ Utils backdoor discovered

    A malicious backdoor was found in XZ Utils, planted over months by a maintainer operating under a pseudonym, targeting sshd on Linux. It demonstrated that dependency trust is a social as well as a technical problem, and that provenance and identity matter even for small, widely-used libraries.

  119. 2024 Apr

    Kubernetes expanded user namespaces support

    Kubernetes documented user namespaces as beta in 1.30 and expanded support conditions. Runtime isolation could increasingly include host user ID remapping, subject to node and runtime compatibility.

  120. 2024 May

    Version 2.11 release line begins

    The published release cadence records version 2.11 in May 2024. The documented quarterly minor cadence made upgrade planning an explicit operational activity.

  121. 2024 Jun 6

    The project marks ten years since its first commit

    A decade on, Kubernetes counts more than 88,000 contributors from over 8,000 companies across 44 countries — evidence the desired-state model this course teaches outgrew any one vendor.

  122. 2024 Aug

    Puppet Enterprise 2023.8 became the Puppet 8 LTS line

    Puppet identifies PE 2023.8.0 as the first LTS release built on Puppet 8 and the successor to the 2021.x LTS track. Upgrade planning therefore included both platform and support-track migration.

  123. 2024 Sep 18

    Pulumi ESC reached general availability

    ESC became generally available, formalizing the service's role for environment, secret, and configuration management.

  124. 2024 Nov

    containerd 2.0 LTS release line begins

    Version 2.0 began as an LTS line and removed previously deprecated runtime components.

  125. 2024 Nov

    PyPI attestations go live

    PyPI introduces index-hosted Sigstore-backed attestations, enabled by default for Trusted Publishing workflows, replacing traditional PGP signatures with keyless identity-based provenance.

  126. 2025

    Attestation verification at admission goes mainstream

    Kubernetes admission controllers and package registries began verifying Sigstore signatures and SLSA provenance by default for published artifacts, moving verification from a producer-side concern to a consumer-side gate that refuses unverified releases.

  127. 2025

    CISA updates SBOM minimum elements

    CISA updated guidance for SBOM data, automation support, practices, processes, coverage, and frequency.

  128. 2025 May

    Grafana 12 expands observability as code

    Grafana 12 added Git Sync and native management for dashboards, alerts, and recording rules. The release made versioned, reviewable dashboard and alert changes a more direct part of the product workflow.

  129. 2025 Aug

    Buck2 documented Kotlin incremental compilation

    Meta documented incremental Kotlin compilation with retained prior outputs in Buck2. The work highlighted cleanup and relocatable-cache requirements for distributed builds.

  130. 2026

    SLSA v1.2 refines the tracks

    SLSA v1.2 reintroduced a Source track alongside the Build track and refined attestation formats, giving teams a vocabulary that covers both where source lives and how it is built.