1949
Turing frames checking a large routine
Alan Turing's paper treated checking a large routine as a distinct problem. It established an early foundation for reasoning about whether program behavior matches its intended operation.
Software development
How the field of a Backend Engineer got here: the sourced milestones from every published course of this career, on one axis.
1949 to 2025
575 milestones across 62 courses
The axis stretches toward recent years, where most milestones fall. Bars count milestones per year; dots are single milestones.
51 milestones
1949
Alan Turing's paper treated checking a large routine as a distinct problem. It established an early foundation for reasoning about whether program behavior matches its intended operation.
1957
IBM released Fortran for the IBM 704. A compiler could translate mathematical-style statements into machine instructions, separating program expression from direct machine-code entry.
1960
The ALGOL 60 report specified identifiers, expressions, assignments, and conditional statements. It made core programming constructs part of a precise language description.
1964 May
Dartmouth's BASIC and time-sharing system ran together. The language was designed to make programming accessible to beginners using shared terminals.
1965
Dijkstra analyzes coordination between loosely connected sequential processes. The work frames explicit communication as central to reasoning about independent activity.
1968
Dijkstra connected unrestricted jumps with difficulty describing program progress. The argument reinforced control flow organized around conditionals, repetition, and procedures.
1968
The NATO Software Engineering Conference documented the difficulty of producing reliable software at scale. Testing became part of a broader engineering response to quality and verification problems.
1968
The standard established a common coded character set for information interchange. It made a published mapping from characters to numeric codes a practical interoperability contract.
1970
E. F. Codd described organizing data as relations and separating the logical model from storage details. The model became the foundation for table-based database design.
1970 Jan 1
The IANA time-zone database uses 1970-01-01 00:00:00 UTC as its main scope boundary for locations whose clocks agree. Software later adopted this instant as the POSIX epoch for many timestamp representations.
1972
C's most creative development period occurred in 1972 while Unix was being developed. It paired a procedural language with types and operations close to conventional machine data.
1972
David Parnas framed module decomposition around information hiding, giving architectural boundaries a change-oriented basis.
1972
The Chapel Hill symposium collected work on program test methods and validation. It made testing methods a more visible subject of shared professional practice.
1974
IBM documented System R as a relational approach to database management. Its work helped establish the practical path from relational theory to DBMS implementation and SQL.
1976
Chen presented entities, relationships, and diagramming as a way to capture semantic information for database design. The model gave designers a conceptual representation before table definitions.
1976
A formal model described distributed database transaction processing, establishing the problem of coordinating work across sites. It supplied a basis for later commit and recovery protocols.
1976
Glenford Myers published a contrasting view that developers should not test their own code. The later TDD practice restored developer-written tests as part of programming.
1977
Christopher Alexander and coauthors publish A Pattern Language, the architectural source for describing recurring problems and adaptable solutions.
1978
C. A. R. Hoare described processes communicating through input and output commands. The model made communication and synchronization a primary design concern rather than an implementation detail.
1978
Jim Gray's notes set out the systems concerns around reliable transaction processing. Commit processing became a distinct recovery and coordination problem rather than only a database API detail.
1978
Lamport defined happened-before as a partial order generated by process order and message send and receive. The paper gave distributed systems a way to reason about causality without assuming synchronized physical clocks.
1978
Time, Clocks, and the Ordering of Events in a Distributed System introduced happened-before and logical clocks. It gave distributed programs a way to reason about causal order without one perfect physical clock.
1978 Nov
Predicate-lock work addressed conflicts involving a condition or set of rows rather than one named record. It showed that protecting a rule can require reasoning beyond individual row locks.
1978 Dec
Hoare's model treats input, output, and parallel composition of communicating processes as program-structuring primitives.
1979
Glenford Myers presented testing as a discipline focused on finding errors rather than demonstrating that a program works. The framing influenced test-design teaching and practice.
1979
Relational Software, Inc. released Oracle V2 as a commercial SQL-based relational database. SQL moved from research systems into a product category that competing database vendors adopted.
1981 Nov
Kung and Robinson described optimistic methods that validate conflicts instead of reserving data for the full operation. The approach underlies version checks and retry-on-conflict designs.
1982
Lamport, Shostak, and Pease described agreement when faulty participants can send conflicting information. The result distinguished arbitrary behavior from ordinary crash failures in protocol design.
1982 Jun
Susan L. Graham, Peter B. Kessler and Marshall K. McKusick present gprof at the SIGPLAN '82 Symposium on Compiler Construction. It extends the existing UNIX profiler by gathering arcs of a program's call graph, so the running time of a called routine is attributed to the routines that called it. The GNU implementation combines an `mcount` call compiled into every function entry with program-counter sampling around 100 times per second, and reports both a flat profile and a call graph — the self-versus-total distinction every profiler has carried since.
1983
The name C++ first appeared in a 1983 publication after C with Classes. It marked a widely used extension of C's functions, types, and data model toward class-based program organization.
1983
Fischer, Lynch, and Paterson showed that deterministic consensus cannot guarantee termination in a completely asynchronous system when one process may crash. Practice separates safety guarantees from the timing assumptions needed for progress.
1983
IEEE 829 defined basic documents for dynamic software testing. It made test documentation a recognized part of organizing test work.
1985
Fischer, Lynch, and Paterson proved that deterministic consensus cannot guarantee termination in every fully asynchronous execution with one possible crash. Practical protocols therefore state additional timing or liveness assumptions.
1985
IEEE 754 established binary and decimal floating-point formats and arithmetic behavior. It made rounding, exceptional values, and conversion rules part of a shared numeric contract.
1986
ANSI published the first SQL standard. A standard core gave database products a common reference point even as their dialects continued to differ.
1986
Erlang's first implementation explores language-level concurrency and error recovery for telecommunications work.
1986
Work that became Erlang started as an experiment in adding concurrent processes to Prolog for telephony. It established a practical message-passing and fault-handling lineage for concurrent systems.
1986
The Berkeley POSTGRES project began implementation. It became a long-running research and production lineage for object-relational database work.
1986
The first ANSI SQL standard established a shared language for defining and querying relational data. It made portable SQL a practical design target.
1986 Dec
The R* distributed database paper described transaction management and commit protocol performance in a production-oriented distributed system. It made the operational cost of distributed commit a practical design concern.
1987
ISO adopted SQL as ISO/IEC 9075. The paired ANSI and ISO work made SQL an international database-language standard.
1987
POSTGRES demoware became operational in 1987 and was demonstrated at SIGMOD in 1988. The project moved from design papers into a working system.
1987
Engineers at Apple and Xerox began work on a universal character encoding architecture. The work addressed the limits of separate national character encodings.
1987 Sep 17
Ward Cunningham and Kent Beck publish their OOPSLA paper on using pattern languages for object-oriented programs.
1987 Dec
Garcia-Molina and Salem proposed sagas for long-lived transactions as sequences of smaller transactions with compensating actions. This separated business recovery from holding one long atomic lock boundary.
1988
The article traced changing testing goals from debugging toward defect detection, evaluation, and prevention. It documented how testing had expanded beyond a final coding activity.
1988
ISO 8601 established an international date-and-time representation standard. Its year-month-day ordering became the basis for unambiguous machine-readable dates.
1988
Dwork, Lynch, and Stockmeyer formalized timing models between full synchrony and full asynchrony. Protocols could retain safety while basing eventual progress on bounds that hold only after an unknown stabilization point.
1989
Lamport's Paxos work framed agreement around numbered proposals, promises, and quorum acceptance. It supplied a durable vocabulary for preserving one chosen value across competing rounds.
1989
Kent Beck's Smalltalk framework established the fixture-and-assertion structure later shared by xUnit frameworks. It made automated checks a routine part of writing a small unit of code.
1989 Jun
Version 1 was released to a small group of external users. The release marked an early step from academic prototype toward use outside its original project.
51 milestones
1990
Lamport presented the Paxos protocol for reaching agreement among processors. Paxos became a core reference for using quorum overlap to preserve a shared decision despite failures.
1991
Version 3 added multiple storage managers, an improved query executor, and a rewritten rule system. Those changes emphasized DBMS behavior beyond the table abstraction.
1991
A testing framework created at Taligent had strong similarities to the later SUnit design. Framework support made repeatable developer tests practical.
1991
The first Unicode Standard established a unified coded character repertoire. Later versions maintained a documented relationship with ISO/IEC 10646.
1991
The X/Open DTP model standardized the vocabulary of application programs, transaction managers, and resource managers. XA made interoperable two-phase commit a deployable integration boundary.
1991 Feb
Python's first public release appeared in February 1991. It provided a readable general-purpose language used here as the concrete syntax for fundamental programming examples.
1991 Oct
The first published version established the Unicode character repertoire and implementation guidance. It provided a common character-code model before the later alignment with ISO/IEC 10646.
1991 Oct
Unicode and the ISO draft standard were changed into one numerical character encoding. The agreement led to the synchronized Unicode 1.1 and ISO/IEC 10646-1 work.
1992
ANSI and ISO published the revision commonly called SQL-92. It became a long-lived baseline for the portable syntax developers still recognize.
1992
SQL-92 revised the standard language used by relational systems. Schema design could increasingly distinguish standard declarations from vendor-specific extensions.
1992
UTF-8 provided a variable-width Unicode encoding compatible with ASCII byte values. It became the byte-oriented representation used by many Internet systems.
1992 Nov
SQL-92 established the named isolation-level vocabulary used to compare relational database implementations. It made dirty reads, nonrepeatable reads, and phantoms common contract terms.
1993
Unicode 1.1 documented the merged repertoire and aligned encoded characters and names with ISO/IEC 10646-1:1993. Implementers gained a shared code-point assignment across the two standards.
1993 Apr
Research compared several two-phase commit variations for commercial environments. It highlighted that normal-case optimizations change recovery and logging tradeoffs rather than removing the commit problem.
1993 Dec
IBM delivered MQSeries V1 in December 1993. It established store-and-forward messaging as enterprise integration infrastructure.
1994
The Pattern Languages of Programs conference series begins, creating a workshop venue for developing and discussing software patterns.
1994
Beck wrote SUnit for a Smalltalk consulting client. The framework supplied the xUnit-style mechanics used in his emerging test-first practice.
1994
Rasmus Lerdorf created PHP/FI from CGI scripts used to track visits to his homepage. The project established PHP's original connection to server-side web work.
1994
Postgres95 replaced PostQUEL with SQL and was released to the web as an open-source descendant of Berkeley POSTGRES. SQL became central to this branch of the system.
1994 Oct
Gamma, Helm, Johnson, and Vlissides publish the catalog that presents 23 object-oriented patterns in creational, structural, and behavioral groups.
1995
Java's first public release brought language-level threads and monitor synchronization to a broad application platform. Shared-memory coordination became a mainstream programming concern.
1995
Sun announced Java publicly in 1995. The language added another mainstream route for expressing variables, control flow, functions, and data structures with a common runtime model.
1995
The official archive lists a second annual PLoP event, showing that the pattern workshop community continued after its first conference.
1995
Philippe Kruchten described logical, process, development, physical, and scenario views for different architecture concerns.
1995 Apr
Apache begins as patches to NCSA HTTPd. The project establishes a modular, community-maintained server line that becomes a standard deployment choice.
1995 Jun
Berenson and colleagues showed that the ANSI phenomena did not fully characterize common isolation implementations. Testing product guarantees became more important than relying on a level name.
1995 Jun
IEEE approves 1003.1c-1995, the POSIX threads extension for C. Portable thread and synchronization APIs become a standard interface.
1995 Oct
Beck demonstrated the practice for Ward Cunningham at the OOPSLA conference in Austin. This bounds his rediscovery of TDD between the 1994 SUnit work and the demonstration.
1995 Dec
Apache 1.0 formalizes a modular architecture. Server capability increasingly comes from configured modules rather than a fixed file-serving core.
1996
RFC 2045 documented Base64 for representing arbitrary octets in Internet message bodies. The format separated transport-safe representation from the payload bytes it carries.
1996
Buschmann and colleagues published patterns including layers, pipes and filters, and broker structures.
1996
The project adopted the PostgreSQL name to mark its SQL capability and began version numbering at 6.0. The rename connected the original POSTGRES work to a continuing database project.
1996 Jul
Unicode 2.0 synchronized with ISO/IEC 10646 amendments and established the post-merger standard for implementers. Its July release marks the move beyond the early 16-bit-only version.
1996 Aug
The first edition of the Java Language Specification reached final release in August 1996. A formal specification made the language's syntax and semantics a portable reference for implementers and programmers.
1997
Kent Beck and Erich Gamma released JUnit for Java. The framework helped make test methods, fixtures, and assertions a familiar part of everyday Java development.
1997
JUnit made repeatable automated unit tests a standard part of Java development workflows. Its conventions helped integrate automated checks with ordinary programming work.
1997
JUnit 0 uses TestCase subclasses and test-prefixed methods. It gives Java developers a repeatable test framework built around executable checks.
1998
An early Extreme Programming article described writing the test before implementation. Test-first programming became part of the method's development rhythm.
1998
Practitioners developed the idea through discussion on the C2 Wiki. The emphasis expanded from test order toward tests guiding design and implementation.
1998
Lamport's Paxos paper described a protocol for reaching agreement despite failures. It made ordered decisions and quorum overlap central ideas for replicated state.
1998
The published Paxos account made the protocol's safety argument and system model available as a citable primary description. It became a reference point for later multi-instance consensus systems.
1998 Jun
The PHP Development Team announced PHP 3.0 as the official successor to PHP/FI 2.0. Its expanded language features and database support broadened the work PHP could host.
1998 Aug
JMS 1.0 introduced a common Java API for messages, consumers, acknowledgement, and delivery modes. It made queue and publish-subscribe concepts portable across Java messaging providers.
1998 Dec
IEEE revised 829 and defined the purpose, outline, and content of basic test documents. It retained a documentation focus without prescribing a testing methodology.
1999
Castro and Liskov presented Practical Byzantine Fault Tolerance for replicated state machines with arbitrary faulty replicas. The work made the fault model an explicit design choice rather than an assumed extension of crash tolerance.
1999
Refactoring presents behavior-preserving changes as a way to improve an existing design incrementally, shifting pattern use toward evidence from code change.
1999
SQL:1999 added features including recursive queries and standardized procedural extensions. It widened SQL beyond basic table queries while retaining the relational core.
1999
SQL:1999 continued the sequence of standard revisions that database products use as a common reference for SQL behavior and declarations.
1999 Jun
The Apache HTTP Server project moves into the new foundation. The server becomes part of a durable open-source governance and release structure.
1999 Jun
RFC 2616 standardized HTTP/1.1. Its method, header, and response model became a common transport surface for web APIs and their security controls.
1999 Sep
Unicode 3.0 was released in September 1999 and aligned with the second edition of ISO/IEC 10646-1. The standard continued its synchronized expansion rather than creating a separate character space.
95 milestones
2000
Martin Fowler's discussion of patterns and refactoring originates as a keynote for XP 2000, framing patterns within iterative design.
2000
Roy Fielding's dissertation at the University of California, Irvine defined the Representational State Transfer architectural style. It gave resource-oriented HTTP APIs the vocabulary that most API tests still assume.
2000
IEEE 1471 defined a framework for software-intensive systems and their architecture descriptions.
2000
Mock Objects emerged among the techniques developed around test-first work. They made collaborator interactions controllable and verifiable inside a focused test.
2000
Neo4j records the invention of its property-graph model in 2000. This represented a data model in which nodes and relationships are central rather than only tabular joins.
2000
Roy Fielding’s dissertation documented REST as an architectural style, including the uniform interface, resources, representations, and stateless interaction. It gave HTTP API designers a vocabulary for resource-oriented contracts.
2000 Mar
Apache 2.0 introduces a new generation of the server. Its multi-processing modules make process, thread, and event-style handling explicit deployment choices.
2000 May
PHP 4.0 introduced the Zend Engine after a core rewrite aimed at complex applications and modularity. It also added broader web-server support, sessions, output buffering, and input-handling improvements.
2000 May
W3C published SOAP 1.1 as a Note for XML-based message exchange. Contract-first web services commonly paired these messages with explicit service descriptions.
2000 Jun
Microsoft announced C# as part of its .NET strategy. The language was positioned with a managed runtime and class library ecosystem from the start.
2000 Aug
The SEI published ATAM for evaluating candidate architectures against competing quality attributes.
2001
Lamport's concise Paxos presentation centered promises, accepted values, and quorum intersection. It gave practitioners a direct path from a single chosen value toward repeated decisions.
2001 Mar
Unicode 3.1 synchronized with ISO/IEC 10646-2:2001, which added supplementary characters. UTF-16 implementations now had to handle surrogate pairs for characters outside the Basic Multilingual Plane.
2001 Jul 5
PEP 8 documented conventions for code in the Python standard library. Application teams gained a common reference for layout, naming, imports, and public interfaces.
2001 Sep
OWASP began as an informal open community. It became a home for shared application-security projects and practitioner guidance.
2002
Gilbert and Lynch formalized the consistency and availability tradeoff for atomic read-and-write objects during a network partition. It moved CAP from a design slogan toward precise failure-condition reasoning.
2002
ISTQB was established as an international organization for software tester certification. Its syllabi spread common testing vocabulary.
2002
JUnit 3 becomes the next major Java baseline. The framework family becomes a familiar way to organize automated component checks.
2002 Feb
C# 1.0 shipped with Visual Studio .NET 2002. It established the language's original object-oriented and managed-programming model.
2002 Jul
RFC 3339 specified a constrained Internet profile of ISO 8601 using UTC or numeric offsets. It gave protocols a common syntax for representing an instant.
2003
Fit and FitNesse helped acceptance test-driven development become an accepted practice. Examples moved toward collaboration among customer, development, and testing perspectives.
2003
Evans introduces the full DDD pattern language — Ubiquitous Language, Bounded Contexts, Aggregates, Entities, Value Objects — in "Domain-Driven Design: Tackling Complexity in the Heart of Software," establishing the conceptual foundation that the entire community builds on.
2003
The first OWASP Top 10 gave developers and organizations a common awareness document for major web application risks.
2003
OWASP published the first Top 10 list, establishing a shared awareness document for web application security risks.
2003
SQL:2003 revised the standard SQL family. Designers and implementers continued to compare database-specific capabilities with an evolving standard vocabulary.
2003
SQL:2003 added window functions and SQL/XML work. Window functions made ranking and calculations across related result rows part of standard SQL practice.
2003
Kent Beck's book presented the method through worked examples and named patterns. It became the central long-form reference for the red-green-refactor discipline.
2003
GFS described a distributed file system built for large, unreliable clusters. Its design made failure handling and recovery first-class parts of an application storage system.
2003
GFS described a distributed file system for data-intensive applications on commodity machines. Its design treated failure and aggregate performance as normal operating concerns.
2003
Mike Cohn developed the test automation pyramid in conversations with Lisa Crispin during 2003 and 2004. The metaphor connected test granularity to a portfolio rather than a single test type.
2003 Apr
Unicode 4.0 aligned with ISO/IEC 10646:2003, the edition that merged the former two ISO parts into one standard. The synchronization kept code-point assignments consistent across specifications.
2003 Dec 7
WSGI defined an interface between Python web applications and web servers or gateways. Framework and server choices could vary across that shared boundary.
2004
The AMQP effort started as an open protocol for business messaging. It put interoperability between messaging implementations on the agenda rather than leaving queue behavior entirely vendor-specific.
2004
OWASP updated the original list, beginning a recurring cycle of revisiting the web application risks practitioners use for awareness.
2004
The article argues that refactoring and testing let teams keep a design adaptable and use patterns in an evolutionary style.
2004
JSR 166 specified executor services, futures, concurrent collections, locks, and atomic variables. These APIs encouraged applications to express work as tasks instead of manually managing every thread.
2004
MapReduce described a model that lets a runtime manage partitioning, scheduling, communication, and machine failures around map and reduce functions. It showed how a narrow interface can hide substantial distributed coordination.
2004
MapReduce presented map and reduce functions while the runtime handled partitioning, scheduling, communication, and failure handling. The model made large parallel batch computation easier to express.
2004
The py project renames std.utest to py.test and establishes collection concepts that remain in pytest. Python testing moves toward plain assertions and detailed failure output.
2004
Selenium began at ThoughtWorks as a reusable tool for testing a web application. It helped establish open-source browser automation as a common option for dynamic testing.
2004 Jul
PHP 5 released with Zend Engine 2.0 and a new object model. Object-oriented PHP became a stronger basis for larger application codebases.
2004 Aug
Gray and Lamport described Paxos Commit, using consensus on participant outcomes to tolerate coordinator failures. The work made replicated decision recording an explicit alternative to ordinary coordinator blocking.
2004 Sep
JSR 133 revises Java's memory model and threading specification, formalizing important ordering rules for concurrent code.
2004 Oct
NGINX 0.1.0 was released publicly. The project began as an event-driven web server built to handle many concurrent connections.
2004 Oct 4
NGINX is released publicly after being designed around the C10K problem. Its event-driven model makes large numbers of slow connections a central web-server design concern.
2004 Dec
The Testing Guide established a documented approach to web application security testing, separate from implementation guidance.
2005 Jan
PostgreSQL 8.0 added a NOWAIT option to LOCK. Applications could choose an immediate conflict result instead of waiting on that command path.
2005 Jan
PostgreSQL 8.0 added savepoints, allowing part of a transaction to be aborted without discarding earlier work. It made partial recovery possible inside a complex unit.
2005 Aug
NIST consolidated guidance for cryptographic keying material into a documented lifecycle covering protection, use, compromise, recovery, and destruction.
2005 Nov
C# 2.0 introduced generics, iterators, nullable value types, and partial types. Generic collections could then preserve type information without casts.
2005 Nov 16
Django 0.90 became the first packaged public release. It moved the framework from revision-control-only development to an installable distribution.
2006
Bigtable described a distributed storage system for structured data that partitions tables into tablets and manages them across a cluster. It made data placement and replication architecture central to application-scale storage.
2006
Bigtable documented a distributed storage system for structured data across thousands of commodity servers. It connected data layout choices to workloads with different scale and latency needs.
2006
Google's paper documented a distributed storage system for very large structured datasets and established the row, family, qualifier, and version vocabulary.
2006
Simon Brown traces the C4 model roots to workshops in the mid-2000s.
2006
Floyd Marinescu and Abel Avram publish "Domain-Driven Design Quickly," a concise summary that makes Evans's patterns accessible to a broader audience who found the original 500-page book intimidating.
2006
HBase development began late in 2006, turning the Bigtable model into an open-source implementation for the Hadoop ecosystem.
2006
JUnit 4 uses Java 5 annotations such as Test. Test authors no longer depend on the earlier naming convention to mark test methods.
2006
RFC 4648 consolidated common Base-N encodings and their alphabets, padding, and canonical behavior. It gave decoders shared rules for accepting and rejecting text representations of bytes.
2006
Graydon Hoare began the work that became Rust. Mozilla later sponsored it as a research project.
2006 Jun
AMQP 0.8 became the first published protocol version. It gave early brokers a shared wire-level target for queues, channels, and message transfer.
2006 Jun 12
Ian Robinson distinguished provider, consumer, and consumer-driven contracts for service evolution. The consumer-driven contract became the provider contract derived from the union of consumer expectations.
2006 Jul
Unicode 5.0.0 was released on July 14, 2006 and synchronized with amendments to ISO/IEC 10646:2003. The release shows the standards' continuing coordinated repertoire growth.
2006 Sep
Dan North published an account of behavior-driven development as a response to difficulties teaching TDD. The approach emphasized behavior language and examples that connect stakeholders and developers.
2006 Sep 19
Python 2.5 adds cProfile, "a C implementation of the existing profile module that has much lower overhead", contributed by Armin Rigo. Deterministic profiling — monitoring every function call, return and exception with precise interval timing — becomes available by default in a mainstream language, along with the documented limits that come with it, including the distortion of Python-versus-C timing comparisons.
2007
Dynamo described a highly available key-value store that sacrifices consistency in some failure scenarios. It made conflict handling and tunable replication part of an application's storage contract.
2007
Dynamo documented consistent-hash partitioning, replication, read and write thresholds, repair, and application-assisted conflict resolution. It supplied a practical vocabulary for availability-oriented replicated storage.
2007
The 2007 update continued the list as a maintained reference rather than a one-time catalog of vulnerabilities.
2007 Jan
Martin Fowler separates state verification with stubs from behavior verification with mocks. The distinction sharpens decisions about when an interaction is part of a test contract.
2007 Feb
RabbitMQ's first public release provided an open-source AMQP implementation. It made an interoperable broker available to application teams rather than only to commercial middleware users.
2007 Jun
WSDL 2.0 standardized service descriptions with HTTP and SOAP support. It kept operations, messages, and bindings explicit and separate from service implementation.
2007 Sep
The initial design discussions led Rob Pike to suggest the name Go. The project then developed compilers and a standard library before public release.
2007 Nov
C# 3.0 added query expressions, lambda expressions, extension methods, and implicitly typed local variables. These features made LINQ sequence pipelines part of ordinary C# code.
2008
Facebook open-sourced Cassandra after using it for Inbox Search, bringing a peer-to-peer design into the wide-column ecosystem.
2008
Cassandra first released in 2008 as a distributed NoSQL database. The project combined partitioned data placement with replicated operation for high-volume workloads.
2008
HBase became a Hadoop subproject, formalizing its place in the distributed-data stack.
2008
SQL:2008 added another dated revision to the SQL standard sequence. The standard remained a reference point while database engines kept their own extensions.
2008 Apr
The ASVS proposal entered OWASP Summer of Code, beginning work on a set of verifiable application security requirements.
2008 Jul
IEEE 829-2008 tied test-documentation breadth and depth to test-process tasks and integrity levels. It superseded the 1998 edition.
2008 Jul
Google released Protocol Buffers, its schema language and binary message format, as open source. It later became the default interface definition language and message format that gRPC service definitions are written in.
2008 Sep
The guide expanded the testing reference used to assess web application behavior and controls.
2008 Sep 3
Django 1.0 established a compatibility milestone after more than three years of open-source development. Stable upgrade expectations became part of operating Django applications.
2008 Nov
Apache established CouchDB as a top-level project. Its document and replication model became an established open-source route for document-oriented applications.
2009
Avro documented binary serialization together with schemas and schema resolution. It made the external data contract explicit for files and RPC payloads.
2009
The inaugural DDD Exchange in London, co-sponsored by Domain Language and Skills Matter, gathers practitioners to share implementation experience and marks the beginning of dedicated DDD community events worldwide.
2009
Greg Young publishes his Command Query Responsibility Segregation formulation, building on Bertrand Meyer's CQS and pairing naturally with event sourcing as a complementary architecture for DDD aggregate persistence.
2009
Mike Cohn's book described the test automation pyramid, which was then commonly shortened to the test pyramid. Teams used it to discuss the balance between focused and broad tests.
2009 Aug
MongoDB launched in 2009 around a document-based data model. It made application-facing document storage a prominent database product category.
2009 Aug
py 1.0 introduces funcargs, fixtures, and a plugin architecture. These features make reusable setup and controlled test environments part of the Python testing workflow.
2009 Sep
RFC 5545 standardized iCalendar objects, including components that carry time-zone definitions for calendar data. Calendar interchange therefore had an explicit mechanism for local-time rules rather than only fixed offsets.
2009 Sep 9
The kernel gains a performance counter subsystem abstracting the hardware registers that count instructions executed, cache misses and mispredicted branches, together with the `perf` userspace tool providing `perf top`, `perf record`, `perf report` and `perf annotate`. Sampling profiling stops being a per-application feature and becomes a kernel service any process on the machine can be measured with.
2009 Oct
Apache's release archive records CouchDB 0.10 in October 2009. The release line made the project available as a maintained Apache distribution.
2009 Nov
Go introduced a language design that put lightweight concurrent execution and channels in a new systems-programming ecosystem. Its release made message passing a common default in network-service code.
2009 Nov
Go launches with goroutines and channels, bringing a CSP-influenced concurrency model into a systems-programming toolchain.
2009 Nov 10
The Go project launched publicly as an open-source language. This started the ecosystem around packages, tools, and community maintenance.
240 milestones
2010
The Apache archive records the 0.6 release line. Early public releases established the project as an Apache-distributed database rather than an internal system.
2010
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.
2010
Gang Ren, Eric Tune, Tipp Moseley, Yixin Shi, Silvius Rus and Robert Hundt describe a continuous profiling infrastructure running across Google's data centers in IEEE Micro, reporting stable, accurate profiles at negligible overhead. It establishes that always-on fleet-wide profiling is affordable, and demonstrates analyses that only exist once profiles are collected everywhere, such as measuring application affinity to particular hardware platforms.
2010
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.
2010
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.
2010
HBase became an Apache top-level project, establishing its independent project lifecycle.
2010
The 2010 release framed application security as a people, process, and technology problem, not only a list of code flaws.
2010
The project moved into Mozilla Research and began developing in public. This supplied institutional support before Rust had stable compatibility guarantees.
2010 Apr
C# 4.0 introduced the dynamic type alongside named and optional arguments. Dynamic binding deferred some member-resolution errors from compile time to runtime.
2010 Apr
RFC 5849 published OAuth 1.0. It documented a signed-request approach to delegated access before OAuth 2.0 replaced it.
2010 Apr
The IETF published the community protocol as an Informational RFC. OAuth 2.0 later replaced it with a non-backward-compatible framework.
2010 Jun
Google's testing blog showed an incremental integration approach that tests two components together before expanding the scope. It emphasized keeping the increment small enough to diagnose failures.
2010 Aug
RabbitMQ 2.0 introduced a scalable storage engine and persistence API. Slow-consumer behavior and retained-message capacity became more explicit operational concerns for broker deployments.
2010 Oct
Unicode 6.0 was released on October 11, 2010. It synchronized with the second edition of ISO/IEC 10646's third version and included additions such as the Indian rupee sign.
2010 Nov
pytest 2.0 is released as a package separate from py. The tool gains its own distribution path while retaining its test-running role.
2010 Dec
Google described Small, Medium, and Large tests with explicit limits on network, database, filesystem, and timing behavior. The model made speed and determinism enforceable properties rather than labels alone.
2011
ISO/IEC/IEEE 42010 succeeded IEEE 1471 as the architecture-description standard.
2011
Neo4j launched Cypher as a declarative language for property graphs. The milestone illustrates the growth of specialized query languages alongside SQL.
2011
SQL:2011 added temporal database features. The standard gained a common way to express time-aware data and queries.
2011
SQL:2011 continued the standard's evolution. The revision provides historical context for why relational design must separate durable logical rules from an engine's current feature set.
2011 Jan 12
Martin Fowler described contract tests as checks that test doubles still match the real external service. A failing contract test signals that the doubles and the consumer code need updating.
2011 Apr
NGINX 1.0.0 established the stable release line. The published announcement also records the 2004 first public release date.
2011 Apr 12
NGINX reaches a stable 1.0 release. Its static serving and proxying pattern becomes a common way to put an event-driven edge in front of application processes.
2011 May
A workshop of software architects used the term for a style they had been exploring. The discussion gave a name to independently deployable service-based systems.
2011 Jun
Taylor Otwell released Laravel as a more complete alternative to CodeIgniter, which did not provide built-in user authentication and authorization. It established the framework's focus on developer ergonomics.
2011 Jun 13
Python gained a standard mechanism for environments with their own installation context. Project dependency isolation no longer depended only on third-party conventions.
2011 Jun 24
The Go team documents profiling as part of the language toolchain rather than an external tool, walking through a full optimization session with `go tool pprof`. The runtime samples the executing goroutine's stack about 100 times per second and samples the heap roughly once per half megabyte allocated, and the profile.proto format it emits later becomes the interchange format much of the profiling market stores.
2011 Jul
Kafka entered the Apache Incubator as a distributed publish-subscribe messaging system with long-term message persistence. Its model shifted attention from removal-on-consume queues to retained event streams.
2011 Jul
Igor Sysoev announced a company dedicated to NGINX development, support, communication, and documentation while keeping NGINX free and open source.
2011 Aug
The first Swagger Specification formalized a machine-readable description for HTTP APIs. That description could drive documentation and tooling from a contract rather than prose alone.
2011 Aug 8
The draft defined an HTTP binding for OpenID Connect messages and included authorization code and implicit paths. It established the OAuth-based direction of the protocol.
2011 Aug 10
The first Swagger Specification described HTTP APIs in a machine-readable format. Later test generators, mock servers, and schema validators build on this lineage.
2011 Sep
PostgreSQL 9.1 replaced its prior Serializable snapshot behavior with true Serializable isolation. Its older snapshot behavior remained available as Repeatable Read.
2011 Oct
AMQP 1.0 was published after a protocol redesign from earlier AMQP versions. Practitioners had to distinguish AMQP 1.0 from the widely used AMQP 0.9.1 family rather than treating AMQP as one interchangeable wire protocol.
2011 Oct
The Apache archive records the 1.0.1 distribution in October 2011. The 1.0 series marked a stable release line for the project's users.
2011 Nov
Michael Nygard published a concise record format for individual decisions.
2011 Nov
The IANA release archive records 2011 time-zone-data releases. Distributing updated rule data became an operational concern for systems that schedule future civil times.
2011 Dec
Brendan Gregg releases the flame graph after working a MySQL performance problem, fixing stack depth on the y-axis and an alphabetically sorted stack population on the x-axis so that identical adjacent frames merge into single wide blocks. Profile output stops being a table to read and becomes a picture to scan, and the format spreads to off-CPU, memory, hot/cold and differential variants.
2012
The storage-engine history records the 1.2 format changes, including the `ib` SSTable format. Storage-format evolution matters because upgrades and data movement depend on compatible on-disk structures.
2012
Abhinav Asthana publishes an early Postman Chrome app to simplify repeated API calls that teams were rebuilding with curl. Public adoption begins from that side project.
2012
A side project for testing and debugging APIs was published on the Chrome Web Store and announced in a Stack Overflow answer. It made interactive request building and scripted checks a common first step in API testing.
2012
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.
2012
Raft organized consensus around leader election, log replication, and safety. Its decomposition made it easier to connect a replicated log with the state-machine model used by production coordination systems.
2012
Spanner documented synchronously replicated data and externally consistent distributed transactions at global scale. It exposed clock uncertainty as part of the system design.
2012
Spanner described synchronous replication and externally consistent transactions across geographic regions. It showed the operational cost of combining distributed consensus with a clock-uncertainty API.
2012
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.
2012 Jan
AWS announced DynamoDB as a managed NoSQL database service. Managed NoSQL services became a practical deployment path alongside self-operated database servers.
2012 Jan
The first numbered source release established a public pre-stable line. Language and library compatibility could still change between releases.
2012 Feb 16
OpenID Foundation approval gave implementers a stable draft set with intellectual-property protections for deployment and interoperability work.
2012 Feb 22
Laravel 3 introduced the Artisan command-line tool, database migrations, and the Bundles packaging system. Scaffolding and schema management became part of the framework rather than manual work.
2012 Mar
Go 1 followed the open-source release with a compatibility commitment. Its concurrency primitives became a stable basis for production libraries and services.
2012 Mar
Go 1.0 marks a stable release after the project's early iteration. Its runtime-managed concurrency model becomes a dependable platform.
2012 Mar
James Lewis presented a case study connecting the style to Unix-like service composition. The example helped make the emerging approach concrete for practitioners.
2012 Mar 28
Go 1 defined a language and core libraries intended as a stable foundation. The compatibility promise made long-lived Go code and documentation a practical expectation.
2012 Apr
Chris Richardson presented independently deployable services as an answer for applications where a monolith was not appropriate. The talk emphasized decomposition for deployability and scaling.
2012 May
Martin Fowler explained the pyramid as a balance with more low-level tests than broad GUI tests. The discussion connected higher-level tests with slower execution and greater brittleness.
2012 Aug
C# 5.0 made task-based asynchronous methods a language feature. The async and await model changed how C# programs express non-blocking input-output work.
2012 Aug 22
A new published specification version advanced the early interface description format.
2012 Oct
OASIS approved AMQP 1.0 as a standard. The standardization strengthened the option of protocol-level interoperability for message-oriented middleware.
2012 Oct
RFC 6750 defined bearer-token presentation in HTTP and documented the security consequences of possession-based access.
2012 Oct
Kafka graduated as an Apache top-level project. The project formalized an open ecosystem around partitioned, persistent event streams.
2012 Oct
RFC 6749 standardized OAuth 2.0 authorization grants and access tokens. API security practice gained a common framework for delegated authorization.
2012 Oct
RFC 6749 standardized four roles, authorization and token endpoints, core grants, access tokens, and refresh tokens.
2012 Oct
The IETF published the authorization framework that OpenID Connect uses for requests, redirects, codes, tokens, and client roles.
2013
Brandolini introduces Event Storming, a collaborative workshop technique for exploring complex business domains through their events, bridging strategic DDD's domain-analysis needs with a scalable, visual format.
2013
The storage-engine history records the `ja` format for 2.0. The release line updated how SSTables recorded data and metadata while retaining Cassandra's immutable-file design.
2013
Postman's own platform timeline marks browser-based debugging plus reusable collections that others can run as the first durable workflow.
2013
Vaughn Vernon's "red book" provides detailed tactical guidance for applying Evans's patterns in modern Java and .NET systems, including aggregates, domain events, and the layered architecture, becoming the practical companion to Evans's foundational text.
2013
The ISO/IEC/IEEE 29119 series organized common concepts, processes, documentation, and test-design techniques into international software-testing standards. It provided a shared structure for testing work across organizations.
2013
The 2013 edition revised the list and broadened some category scopes, affecting how teams mapped findings to risk categories.
2013
A development team wrote Pact to handle integration testing across new Ruby microservices. It introduced consumer-driven contract testing, where consumer tests generate the contract that the provider verifies.
2013
A development team at realestate.com.au wrote Pact, which generated the contract from consumer tests. Provider states followed, so one request could be verified under different provider conditions.
2013
Ongaro and Ousterhout introduced Raft with separate leader election, log replication, and safety components. Its explicit leader model made replicated-log behavior easier to inspect and teach.
2013 Feb
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.
2013 Mar 18
PEP 440 defined accepted version identifiers and comparison rules for Python distributions. Dependency tools could reason about project constraints with shared semantics.
2013 May
Go 1.1 adds a race detector for memory synchronization errors. Dynamic detection becomes a standard development tool.
2013 May 28
Laravel 4, codenamed Illuminate, was rewritten as a set of Composer packages. Eloquent, the query builder, queues, and migrations became a modular core distributed through PHP's standard package manager.
2013 Aug
Part 2 specified generic processes for governing, managing, and implementing software testing across lifecycle models.
2013 Aug
RFC 7009 added an endpoint for clients to ask an authorization server to revoke access or refresh tokens.
2013 Dec
Go 1.2 added the race detector to the standard toolchain. Concurrent programs could then be tested for data races with a supported Go command.
2013 Dec
Kafka 0.8.0 was released in December 2013. The 0.8 line established an early operational era whose documentation covers replicated brokers and partitions.
2013 Dec
Kafka 0.8.0 shipped the replication work that made broker failure a durability and availability design concern rather than a single-broker outage.
2014
Collections become a standardized runnable unit on the desktop and via a command-line runner for CI. The co-founders incorporate as interest and funding accelerate.
2014
Postman collections became a standardized way to define, save, and run one or many API requests. A saved set of requests with tests could now run as a suite rather than one call at a time.
2014
James Lewis and Martin Fowler described independently deployable services around business capabilities.
2014
Scott Millett and Nick Tune publish a practitioner-oriented guide that connects DDD patterns to everyday development workflows, including event-driven architecture and agile delivery.
2014
Raft separated consensus into leader election, log replication, and safety. Its presentation made a practical replicated state machine easier to reason about and implement.
2014
The Raft paper received a Best Paper Award at the 2014 USENIX Annual Technical Conference. Its publication and accompanying materials widened access to a leader-based consensus design for systems builders.
2014 Feb
Elasticsearch 1.0.0 reached general availability on Lucene 4.6.1. It established the first stable major release line for the distributed search engine.
2014 Feb
Core, Discovery, Dynamic Registration, and supporting specifications reached final status. Implementations could target a stable OpenID Foundation standard.
2014 Mar
The article described common characteristics such as business-capability organization, decentralized data management, and infrastructure automation. It made the architectural tradeoffs broadly discussable.
2014 Mar
The 0.8.1 release continued the replicated-log generation and provided a stable base for production adoption of partition leaders and in-sync replicas.
2014 Jun
Unicode 7.0 was released on June 16, 2014. Release dates became a practical compatibility boundary for libraries, fonts, and applications that need newly encoded characters.
2014 Aug
Microsoft introduced Azure DocumentDB in public preview as a managed NoSQL document database service. The service brought document storage and query semantics into Azure's managed database portfolio.
2014 Aug
Martin Fowler distinguished service boundaries from pretending remote calls are local objects. The warning reinforced explicit treatment of network failure and remote behavior.
2014 Sep
Version 4 refreshed OWASP guidance for structured web application security testing.
2014 Sep
Swagger 2.0 expanded the formal API description. It made a portable contract a more practical input to code generation, validation, and reference documentation.
2014 Sep 2
Django 1.7 added built-in schema migrations and the migrate command. Database schema history became a first-class deployment artifact.
2014 Sep 8
The 2.0 release became the version later donated to the OpenAPI Initiative.
2014 Sep 29
PEP 484 standardized annotation conventions for static analysis without adding automatic runtime enforcement. Applications could adopt shared type-checker vocabulary across package boundaries.
2014 Oct
MQTT 3.1.1 standardized a lightweight client-server publish-subscribe transport. It gave constrained and IoT environments a common messaging protocol.
2014 Nov
crates.io became the central registry for discovering and downloading Rust crates. Cargo gained a shared publication and dependency source ahead of Rust 1.0.
2014 Nov
Corrections to the final specifications were approved without changing the protocol's overall architecture.
2014 Nov 12
AWS introduced managed creation and control of encryption keys with hardware security module protection, service integrations, and CloudTrail audit records.
2015
Google launched Cloud Bigtable as a managed service with an HBase-compatible API.
2015
Published documentation and multi-language snippets turn a collection into consumer-facing API guidance as well as a test artifact.
2015
Google's testing guidance explained the maintenance and execution costs of a strategy dominated by end-to-end tests. It reinforced choosing test levels according to feedback needs rather than automating every scenario at the same scope.
2015
Part 4 provided the test-technique part of the ISO/IEC/IEEE 29119 series.
2015
The microservices movement crystallizes around bounded contexts as the natural decomposition boundary for independently deployable services, making DDD strategic design a prerequisite for effective microservice architecture.
2015
OpenTracing focused on common APIs for instrumenting distributed systems. This shifted instrumentation toward a portable interface rather than a backend-specific library.
2015
PHP 7.0 shipped with Zend Engine 3.0, performance and memory-use improvements, stronger exception behavior, and newer language constructs. The release reset expectations for modern PHP performance and type declarations.
2015
RabbitMQ 3.6 added lazy queues as an option for queues that can become long. The feature highlighted disk and memory behavior as a capacity decision, not a detail hidden by the queue abstraction.
2015
Uber created Jaeger as an internal distributed tracing platform. It provided an open-source implementation focused on monitoring and troubleshooting cloud-native architectures.
2015 Jan
After production use at SoundCloud and early external adoption, the project was announced to the wider public. This expanded the open metrics ecosystem around the label-based data model.
2015 Jan 8
Microsoft exposed a managed Azure boundary for keys and secrets, including hardware-backed protection for applications using the platform.
2015 Feb
Google introduced gRPC, a remote procedure call framework built on HTTP/2 with generated clients and servers for several languages. It generalized Stubby, the RPC system Google had used internally since about 2001.
2015 Feb 4
Laravel 5.0 changed the application directory structure and added form requests and a service-provider-based bootstrap. The layout that later versions refined was set here.
2015 Mar
Sync backs up collections to Postman's cloud and lets teammates share the same request libraries instead of trading JSON files by hand.
2015 Apr
Google advised replacing unnecessary end-to-end checks with smaller integration tests when they detect the same defect. The advice sharpened the distinction between a seam test and a full journey.
2015 Apr
Mashape released Kong as an open-source Nginx-based platform for centrally managing microservices and APIs with an initial plugin set.
2015 Apr 9
Native coroutines and async and await syntax made cooperative asynchronous control flow explicit. Application design gained standard language constructs for concurrent I/O.
2015 Apr 22
The Foundation introduced self-certification with initial provider deployments from major implementers. Conformance testing became a practical interoperability checkpoint.
2015 May
HTTP/2 standardizes binary framing, stream multiplexing, and header compression. Servers must map many concurrent streams on a connection without changing HTTP's request-response role.
2015 May
The IETF published HTTP/2, which supplies the multiplexed streams and binary framing gRPC uses as its transport. gRPC standardized on HTTP/2 rather than defining its own wire transport.
2015 May
RFC 7519 defined JSON Web Token claims and compact serialization. Token validation became an explicit API implementation concern.
2015 May
Rust 1.0 establishes a stable systems-programming platform with ownership-based safety guarantees and standard concurrency tools.
2015 May
Rust 1.0 committed to a stable language and standard library. Ownership-aware concurrency libraries gave systems programmers a way to express some shared-state constraints in types.
2015 May 15
Rust began its stable compatibility commitment while retaining low-level control without a garbage collector. Stable code gained a foundation for long-lived libraries and applications.
2015 Jun
Kubernetes 1.0 established a production container-orchestration platform with a stable API. It gave service fleets a common way to schedule and manage workloads.
2015 Jun 9
Laravel 5.1 was the first release with long-term support, giving teams a version with an extended window of bug fixes to standardize on.
2015 Aug 19
The compiler toolchain moved from C to Go, and the garbage collector was redesigned. The release also made the default GOMAXPROCS value match logical CPU count.
2015 Sep
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.
2015 Sep
Lumen, a stripped-down derivative of Laravel aimed at microservices and APIs, was released. It shared Laravel's components with a lighter bootstrap for latency-sensitive services.
2015 Sep
RFC 7636 specified proof key for code exchange. Public clients gained a standardized mitigation for authorization-code interception.
2015 Sep
RFC 7636 bound an authorization code to a client-created verifier, addressing code interception attacks against public clients.
2015 Sep 30
PEP 517 specified hooks between tools that request builds and tools that perform them. Projects could select build backends without requiring installers to run backend-specific commands.
2015 Oct
Elasticsearch 2.0.0 introduced query and filter unification and pipeline aggregations. Those changes strengthened the distinction between relevance-scored query context and non-scoring filter context.
2015 Oct
ASVS 3.0 advanced the use of versioned, testable security requirements in application verification programs.
2015 Oct
RFC 7662 defined a protected endpoint for querying a token's active state and authorization metadata.
2015 Nov
Apache Cassandra 3.0 released on November 9, 2015. It began a long-lived major release line that later became an upgrade boundary for operators.
2015 Nov
Cassandra 3.0 established the major storage-engine baseline that preceded 4.0.
2015 Nov
The Thoughtworks Technology Radar placed consumer-driven contract testing in its Adopt ring. It described these tests as an essential part of a mature microservice testing portfolio.
2015 Nov
Kafka 0.9.0 added Kafka Connect, creating a framework for reusable source and sink integrations instead of application-specific movement for every system.
2015 Dec
The Swagger 2.0 specification was donated to the OpenAPI Initiative. The description format then moved under vendor-neutral governance as OpenAPI.
2015 Dec 31
The Swagger 2.0 specification was donated to the OpenAPI Initiative.
2016
MongoDB launched Atlas as its database-as-a-service offering. Document database operations increasingly became a managed-service decision rather than only a server administration task.
2016
Scheduled monitoring extends runners so contract and integration checks can run continuously without a developer clicking Send.
2016
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.
2016
Version 3 simplified the schema language, removed required fields, and added a canonical JSON mapping. proto3 became the recommended syntax for new gRPC service and message definitions.
2016
SQL:2016 incorporated JSON-related features. Relational databases could standardize some work with semi-structured values without abandoning tables, constraints, and joins.
2016 Mar
RFC 7808 defined an HTTP service for clients to discover and retrieve time-zone data. The protocol recognized that applications may need current rule data beyond their local installation.
2016 Mar
NGINX 1.9.13 added UDP support to the stream module. The proxy role expanded beyond HTTP request handling to TCP and UDP traffic.
2016 May
CNCF accepted Prometheus as a hosted project. Its metric model became a widely used companion to traces for rates, errors, and latency distributions.
2016 May
Kafka 0.10.0.0 introduced Kafka Streams, making a Java client library part of the path for transformations, joins, and aggregations over topic data.
2016 May 10
PEP 518 introduced the pyproject.toml build-system table for build requirements and backend selection. Build tools gained a standard way to prepare an isolated build environment.
2016 Jun 27
ASP.NET Core 1.0 introduced the modular, cross-platform web framework with a unified MVC and Web API stack. It established the host and middleware approach that later releases extended.
2016 Jul
The first JUnit 5 milestone release introduced the modern JUnit Platform and Jupiter direction. It separated the platform for running tests from the programming model for writing them.
2016 Jul 6
Traefik's first stable release supports configuration from container and orchestration systems. Proxy routing can now follow service discovery in dynamic deployments.
2016 Aug
Cloud Bigtable reached general availability as a production managed service for large NoSQL workloads.
2016 Aug
gRPC 1.0 established a stable protocol and API surface for service contracts, including streaming call forms. API design work could therefore apply contract thinking beyond HTTP resource APIs.
2016 Aug
OpenTracing joined the CNCF in August 2016. Its API effort focused attention on portable instrumentation rather than backend-specific tracing code.
2016 Sep
Pulsar became an Apache Incubator project, moving its development into the Apache community.
2016 Sep 23
Spring Cloud Contract reached general availability with a contract DSL, generated acceptance tests, and WireMock stubs. It brought consumer-driven contracts to Spring applications for HTTP and messaging.
2016 Oct
CNCF accepted OpenTracing as a hosted project. The project aimed to make tracing and context propagation consistent across loosely coupled microservices.
2016 Oct
Elasticsearch 5.0.0 added ingest-node pipelines for preprocessing documents at index time. Ingestion could then run within Elasticsearch as well as through external pipelines such as Logstash.
2016 Dec
Certification expanded from providers to the applications that consume OpenID Connect responses, adding tests for the other side of the protocol exchange.
2017
Uber released Cadence, an open-source engine for scalable, fault-tolerant, long-running workflows. It established the Workflow-and-Activity model and Event-History replay that Temporal later inherited.
2017
JUnit 5 sets a Java 8 baseline and supports lambda-based dynamic tests. The platform separates test engines from the tools that discover and run tests.
2017
Mocking lets teams serve example-backed responses from a collection so clients can integrate before the real service is ready.
2017
The 2017 edition documented categories including injection, broken authentication, and sensitive data exposure.
2017 Feb 9
Peter Thomas released Karate while leading an API platform team at Intuit. It expressed API tests in a Gherkin-style syntax that did not require a general-purpose programming language.
2017 Mar
C# 7.0 added tuple types, deconstruction, pattern matching, local functions, and other syntax changes. These features made shape-based decisions and small returned values more direct to express.
2017 Mar
Google donated gRPC to the CNCF as an incubating project and relicensed it under Apache 2.0. Stewardship moved from a single vendor to a foundation.
2017 Apr
InnoDB added NOWAIT and SKIP LOCKED options for locking reads. Queue and reservation designs could explicitly fail or omit busy rows instead of always waiting.
2017 May
Azure Cosmos DB became generally available and existing DocumentDB customers moved to the service. Globally distributed document workloads made partitioning and consistency choices more visible in product selection.
2017 May
Istio introduced a service-mesh approach for managing traffic, policy, and telemetry between services. This separated some cross-cutting network concerns from application code.
2017 Jun
Kafka 0.11 made idempotent and transactional producer modes available, which enabled atomic Kafka output and consumed-offset commits within a defined boundary.
2017 Jun
The project documented why a connection-level load balancer sends every call on one channel to the same backend, and set out L7, client-side, and lookaside balancing as the alternatives. This shaped how gRPC is deployed behind proxies and meshes.
2017 Jun
Unicode 10.0 was released on June 20, 2017. The continuing versioned release process means a system's Unicode data version is part of its text-processing behavior.
2017 Jul
OpenAPI 3.0 introduced a major revision of the HTTP API description format. Design reviews could use a standard artifact for paths, operations, schemas, responses, and security requirements.
2017 Jul 26
The 3.0.0 release established a new OpenAPI major version with a revised description structure.
2017 Jul 26
The first OpenAPI major version after the Swagger donation revised the description structure and added Link objects that describe relationships between operations, which stateful test tools later follow.
2017 Aug
ASP.NET Core 2.0 added Razor Pages for page-focused server-rendered applications. This gave teams another endpoint model on the same hosting and dependency-injection foundation.
2017 Aug
The RP certification program moved from pilot status to general availability, making client-side conformance evidence broadly accessible.
2017 Aug 30
Laravel 5.5, the next LTS release, added package auto-discovery. Installed packages registered their service providers and facades without manual edits to configuration files.
2017 Sep
Jaeger joined CNCF in September 2017. The project made an open tracing backend available within the cloud-native ecosystem.
2017 Sep
The project continued its incubating release line before the 2.x platform releases.
2017 Oct
RFC 8252 made external user agents and authorization code with PKCE the practice for native applications.
2017 Nov
Elasticsearch 6.0.0 added sequence IDs and operations-based shard recovery. Recovery could replay missing operations instead of copying and comparing all changed segment files.
2017 Nov
Kafka 1.0.0 was released in November 2017. The 1.0 release became a long-lived upgrade starting point for clusters whose operators later planned multi-version paths.
2017 Dec 2
Django 2.0 added the path function and route syntax with path converters. URL patterns became easier to express without regular expressions for common paths.
2018
The C4 model changed its fourth diagram type from classes to code, reinforcing that code detail is optional.
2018
OpenCensus provided common libraries for collecting traces and metrics. It represented a parallel standardization path that later converged with OpenTracing.
2018
The updated Refactoring book continues the practice of improving design through small behavior-preserving transformations.
2018
Workspaces become the collaboration boundary, with comments and search across collections and APIs for larger teams.
2018 Feb
Martin Fowler's practical guide presented unit, integration, contract, UI, and end-to-end checks as different feedback mechanisms. It showed database and service boundaries as focused integration targets.
2018 Mar
The 0.13 line continued the shift toward Services and Routes as the primary routing objects, moving operators off the older API entity.
2018 Mar
NGINX Open Source 1.13.10 introduced native gRPC traffic support. A proxy configuration could then route and balance HTTP/2-based RPC calls.
2018 Apr
The 2.0 line established the major-version release series used by later platform features.
2018 Apr 4
AWS added a managed service focused on retrieving and rotating application credentials, separating that job from general encryption-key management.
2018 May
ASP.NET Core 2.1 documented integration-test support and expanded the framework's testing story around hosted application behavior. This reinforced testing routes, middleware, and services through the HTTP boundary.
2018 Jun
MongoDB 4.0 made multi-document ACID transactions generally available. Practitioners could use broader transaction boundaries when an aggregate boundary did not cover a required operation.
2018 Jul
Kafka 2.0.0 was released in July 2018. Operators gained another major-version boundary where compatibility and staged rolling upgrades became explicit maintenance work.
2018 Aug
Camunda documented orchestration of microservice transactions with compensation events. The example reflects the shift from shared resource managers toward durable workflow coordination.
2018 Aug
Regional replication added a primary-primary multi-cluster option, making routing and availability part of deployment design.
2018 Aug
The release added the connector framework and storage offload capabilities that widened the platform beyond brokered delivery.
2018 Aug 24
Go 1.11 introduced experimental modules as an alternative to GOPATH with versioning and package distribution. Dependency requirements became explicit in the project model.
2018 Sep 25
JEP 328 moves Flight Recorder, previously a commercial feature of the Oracle JDK, into the open repository and delivers it in JDK 11, which reaches General Availability on 25 September 2018. The stated goal is at most 1% overhead out of the box on SPECjbb2015 and no measurable overhead when disabled. A production-grade recorder of thread samples, lock profiles and allocation ships with the runtime rather than being purchased separately.
2018 Oct
A stable JavaScript client library let browser code call gRPC services through a translating proxy such as Envoy. It made gRPC reachable from the browser without a hand-written REST layer, within limits on client and bidirectional streaming.
2018 Oct
Kotlin 1.3 ships multiplatform libraries for managing coroutines, bringing structured lifetimes into its development ecosystem.
2018 Oct
Kotlin 1.3 made coroutines stable and supplied a standard vocabulary for suspension and asynchronous work. This strengthened the distinction between cooperative tasks and operating-system threads.
2018 Nov
The W3C Distributed Tracing Working Group published its first Trace Context draft. It defined portable HTTP headers for carrying trace identity across tool boundaries.
2018 Dec
Kong reached 1.0 with Plugin Development Kit 1.0, stream routing, and removal of concepts deprecated through the 0.x series.
2018 Dec 4
Vault's first major release marked maturity for a broker centered on secrets, encryption, identity, dynamic credentials, leases, and revocation.
2018 Dec 6
Rust 1.31 introduced the first edition after Rust 2015. Crates could opt into new idioms while remaining interoperable with crates from other editions.
2019
Design support for OpenAPI, RAML, and GraphQL lands alongside a public network where producers publish collections for consumers to discover.
2019
Domain-Driven Design Europe establishes itself as the leading annual conference for DDD practitioners, with an associated Academy for training and a growing video archive of practitioner talks covering real-world strategic and tactical design.
2019
The 2019 revision continued the standardized treatment of binary and decimal floating-point formats, operations, conversions, and exceptions. It kept numeric representation behavior explicit across implementations.
2019
OWASP released its first API-specific Top 10. It established a shared vocabulary for broken object authorization and resource limits.
2019
The original Cadence authors started Temporal Technologies and forked the project, carrying forward durable execution while re-architecting the platform and building a company around it.
2019 Jan
Amazon DocumentDB became generally available with MongoDB compatibility. Teams gained another managed option, while still needing to verify behavior required by their applications.
2019 Mar
Operators could describe entities in YAML or JSON, load them at startup or via /config, and run without a datastore when the graph fit in memory.
2019 Apr
Elasticsearch 7.0.0 introduced a new cluster-coordination subsystem and removed the `minimum_master_nodes` setting. The change reduced a common split-brain configuration risk during cluster growth and failure.
2019 Apr 1
Django 2.2 added database constraints and began an LTS line. Teams could select a supported baseline while using stronger model-level database constraints.
2019 May
Global replication extended the service to multi-region deployments and independent cluster scaling.
2019 May
OpenTelemetry formed from the OpenTracing and OpenCensus projects. The merger combined tracing and telemetry instrumentation work into one vendor-neutral project.
2019 May
OpenTelemetry combined OpenCensus and OpenTracing work toward common telemetry APIs and data collection. It strengthened the practical expectation that requests can be traced across service boundaries.
2019 May
The two projects merged to form OpenTelemetry. Instrumentation and export could now target one shared ecosystem instead of competing tracing and metrics libraries.
2019 May 29
OWASP published a top-ten list dedicated to API risks, led by Broken Object Level Authorization. It gave API test suites a shared checklist for authorization and abuse cases.
2019 Aug
RFC 8628 standardized a flow that moves user interaction from an input-constrained device to a separate device.
2019 Sep
Endpoint Routing made endpoint selection and middleware composition explicit in the request pipeline. Authorization, CORS, and Health Checks could use endpoint metadata through this shared mechanism.
2019 Sep
AsyncAPI 2.0 provided a specification for asynchronous APIs. Message channels, publishers, subscribers, and message schemas became first-class contract elements.
2019 Sep
C# 8.0 added nullable reference types and nullable static analysis. Projects could express and check whether a reference was intended to be null.
2019 Sep
The 2.5 release continued the stable Apache Pulsar release line after incubation.
2019 Sep 3
Laravel 6 moved to semantic versioning, so a major version number became a reliable signal that an upgrade could contain breaking changes. Upgrade planning became more predictable.
2019 Oct
CloudEvents 1.0 defined common event metadata and transport bindings. It improved portability of event descriptions across services and platforms.
2019 Oct
Microsoft introduced Dapr as an open-source runtime for building portable microservice applications. The project established the sidecar and building-block model that later releases expanded.
2019 Oct
RFC 8536 documented the Time Zone Information Format used to distribute compiled time-zone data. It made the boundary between IANA source rules and runtime-consumable zone files explicit.
2019 Dec 2
Django 3.0 could run as an ASGI application alongside its existing WSGI support. Internal request handling remained synchronous at that point.
2019 Dec 10
Google Cloud introduced a dedicated service for API keys, passwords, certificates, and other credentials with versioned access and audit support.
138 milestones
2020
Enterprises get an internal catalog for microservice discovery, while public workspaces let producers expose forkable API work to the world.
2020 Jan
SAMM 2 provided a maturity model organized around governance, design, implementation, verification, and operations.
2020 Feb
Temporal published its early open-source server builds, beginning the public v0.x line that let teams run the Service themselves ahead of a stable release.
2020 Feb
Go 1.14 declared module support ready for production use and encouraged migration. Modules became the default mental model for organizing and resolving dependencies.
2020 Feb
Trace Context reached W3C Recommendation status. The standard gave interoperable trace propagation a stable HTTP header format.
2020 Feb 24
Pact introduced pending pacts, whose verification failures no longer fail the provider build, and work in progress pacts built on them. A consumer's changed expectations stopped blocking the provider pipeline.
2020 Mar
Control plane nodes retained the database and Admin API while data plane nodes proxied traffic from pushed configuration, and the early built-in service mesh path was removed in favor of Kuma.
2020 Mar 11
General availability established the service as Google's managed broker for centralized secret access, policy, versioning, and auditing.
2020 Apr
The release advanced service invocation and introduced application health checks. It made the local application-to-sidecar boundary more usable for early distributed application deployments.
2020 Apr
The 4.1 update kept the guide current as a testing reference while the project continued toward version 5.
2020 May
CNCF graduation marked Kubernetes as a mature project under the foundation's criteria. The ecosystem around running and operating service fleets had become a mainstream platform foundation.
2020 May
PEP 615 introduced the zoneinfo module for IANA time-zone support in Python. It brought named-zone handling and transition behavior into a standard runtime API.
2020 May 13
Deno 1.0 established the first stable major release. It made the runtime's integrated TypeScript support and opt-in permissions a supported foundation for application work.
2020 Jun 22
PEP 621 standardized core project metadata in pyproject.toml. Names, versions, dependencies, scripts, and related fields could move from backend-specific files into a shared table.
2020 Aug
The 2.6 release continued the platform’s regular feature-release cadence.
2020 Aug 18
The Rust Core Team and Mozilla announced plans for a Rust foundation. The plan moved legal, financial, trademark, and infrastructure responsibilities toward an independent organization.
2020 Sep 8
Laravel 8 was the second major release of 2020 and the last before the project moved to a single release per year.
2020 Sep 13
Deno 1.4 added a web-standard WebSocket API, `deno run --watch`, and integrated test coverage. These additions expanded the built-in development loop around the runtime.
2020 Sep 30
The Go SDK reached a stable 1.0.0 alongside the server, giving the first production-supported way to write Workflows and Activities and run Workers against the platform.
2020 Sep 30
The 1.0.0 release marked the Temporal Server as production-ready, stabilizing the durable-execution runtime and its APIs for adopters.
2020 Oct
Kong announced Konnect as a managed connectivity platform delivered as a service, pairing hosted control with customer-managed runtimes.
2020 Nov
ASP.NET Core 5.0 Web API templates enabled OpenAPI support by default. The template made an API description and development-time UI part of the starting HTTP API workflow.
2020 Nov
C# 9.0 added records and top-level statements. Data-centered types and small console programs could use less declaration boilerplate.
2020 Nov
The release included stability and feature work while the project described its route to a production-ready 1.0. It marked the transition from early experimentation toward a supported runtime contract.
2020 Nov
Elastic 7.10 introduced searchable snapshots in beta and prepared data tiers. Practitioners could separate storage cost and access patterns more explicitly for historical data.
2020 Nov
PHP 8.0 added named arguments, union types, attributes, constructor property promotion, match expressions, and an optimizing JIT compiler. It also brought breaking changes that made runtime upgrades an explicit engineering task.
2020 Dec
A pure-JavaScript implementation for Node.js reached 1.0 and replaced the C-based add-on as the recommended library, removing a native build step from Node deployments.
2020 Dec 8
Deno 1.6 introduced `deno compile` for standalone executables and a built-in language server. The release extended Deno from direct script execution into editor and distribution workflows.
2020 Dec 18
Kubernetes 1.20 introduced an alpha path for a CSI driver to receive a Pod's service account token and request external secret material for that workload.
2021
Vladik Khononov publishes a modern, accessible introduction to DDD that connects the original patterns to contemporary architecture decisions — microservices, modular monoliths, and event-driven systems — making the method approachable for a new generation of developers.
2021
OWASP introduced new categories and naming changes that emphasized root causes over symptoms, using a formalized data-collection process.
2021
Temporal introduced its hosted Service, letting teams run Workers against a managed Server and database instead of operating the four-service Server themselves.
2021
Vitest starts as a test runner designed for Vite projects. JavaScript and TypeScript teams gain a runner aligned with their build environment.
2021
Protocol support expands beyond classic HTTP toward WebSockets and a repositioning of Postman as a multi-protocol API platform with deeper lifecycle integrations.
2021 Feb
Dapr 1.0 declared a stable API surface for its runtime and building blocks. Production users could now plan upgrades around a major-version contract.
2021 Feb
The project entered the Cloud Native Computing Foundation Sandbox. Its governance and ecosystem became part of the wider CNCF landscape.
2021 Feb
OpenAPI 3.1 aligned its Schema Object with JSON Schema draft 2020-12 and added webhooks. HTTP API contracts could express schema constraints with closer alignment to the wider JSON Schema ecosystem.
2021 Feb 8
The Rust Foundation began as an independent nonprofit supporting the Rust language and ecosystem. Project governance remained with the Rust Project.
2021 Feb 15
The 3.1.0 release aligned the Schema Object with JSON Schema Draft 2020-12.
2021 Feb 15
OpenAPI 3.1.0 made its Schema Object fully compatible with JSON Schema Draft 2020-12 and replaced the nullable keyword with type arrays. Validators and generators had to support the new schema dialect.
2021 Mar 12
The Financial-grade API profiles finalized a constrained OAuth and OpenID Connect security baseline for higher-risk API ecosystems.
2021 Apr
Kafka 2.8.0 introduced early access to replacing ZooKeeper with a self-managed quorum. This began the shift toward operating a controller quorum as part of Kafka itself.
2021 May
RFC 8725 documented JSON Web Token best current practices. It emphasized explicit algorithm, issuer, audience, and token-kind checks.
2021 May
Konnect opened for general use with consumption-based plans and multi-geo control-plane placement for regional deployment needs.
2021 Jun
Google recommended a solid base of unit tests, integration testing for groups of components, and end-to-end checks for critical user journeys. The guidance treated the layers as complementary rather than substitutes.
2021 Jun
The release documented further development of Pulsar as a unified messaging and streaming platform.
2021 Jun 23
Deno announced the first beta of Deno Deploy, a hosted JavaScript execution service. It connected the runtime's JavaScript and TypeScript workflow to a managed deployment option.
2021 Jul
Apache Cassandra 4.0 released after an extended validation effort focused on data correctness and production readiness. The release raised the importance of replay, upgrade, performance, and fault-injection testing in the project's practice.
2021 Jul
Cassandra 4.0 reached general availability after an extended testing effort focused on upgrades and operations.
2021 Jul
RabbitMQ introduced Streams as a persistent, replicated data structure with non-destructive consumption. The addition made replay-by-offset an explicit alternative to removal-oriented work queues.
2021 Jul 4
The Pact Broker added first-class branches, environments, deployments, and releases, with record-deployment and record-release replacing tags. Mobile apps and APIs could then share one can-i-deploy workflow.
2021 Aug
OpenTelemetry became a CNCF incubating project. Its tracing APIs, SDKs, Collector, and exporters increasingly provided a shared collection path for multiple backends.
2021 Aug
CNCF moved OpenTracing to archived maturity status. The transition signaled that new standardization work had moved to OpenTelemetry.
2021 Sep
Kafka 3.0 advanced the built-in KRaft consensus mechanism intended to replace ZooKeeper, moving metadata management into Kafka's own architecture.
2021 Sep
Kafka 3.0.0 added metadata-topic snapshots and other self-managed quorum improvements. KRaft operation became a more concrete path for clusters evaluating their metadata plane.
2021 Sep
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.
2021 Sep
RFC 9126 added back-channel submission of authorization request parameters before the browser-facing request.
2021 Oct
Deno 1.15 introduced an early compatibility mode for Node.js applications and libraries. Compatibility became a practical migration concern rather than only a runtime-design distinction.
2021 Oct
The second edition replaced the 2013 test-process standard and continued to define processes for governing, managing, and implementing testing.
2021 Oct
The Kubernetes Ingress Controller 2.x releases continued the path of translating cluster Ingress and related resources into Kong entities for data planes.
2021 Oct
gRPC libraries gained a built-in xDS client, so a control plane such as Istio could configure routing, load balancing, and mutual TLS for gRPC clients directly, without an Envoy sidecar next to every workload.
2021 Oct 8
Polar Signals releases Parca, pairing an eBPF-based profiler that discovers targets through Kubernetes or systemd with storage that identifies profile series by type and key/value labels and queries them with a label selector. Profiles become a queryable time series rather than a file, which is what makes comparing two points in time a query rather than a manual diff.
2021 Oct 21
Rust 1.56 stabilized the 2021 edition. Edition migration remained opt-in per crate, preserving interoperability across editions.
2021 Nov
ASP.NET Core 6 added Minimal APIs and the minimal hosting model. Small HTTP services could map handlers directly while retaining the same host, routing, middleware, and dependency-injection services.
2021 Nov
PHP 8.1 added enumerations and fibers, alongside readonly properties and other language changes. It made fixed value sets and cooperative concurrency first-class language features.
2022
The project froze the 4.1 release branch in May 2022 for bug fixing before general availability. This formalized a staged release process after the 4.0 validation work.
2022 Jan
The second edition replaced the 2013 general-concepts standard and refreshed the common concepts for the series.
2022 Feb
Elastic 8.0 added simplified security-by-default behavior with generated tokens and certificates for self-managed clusters. Secure deployment became part of the initial setup path rather than an optional follow-up.
2022 Feb
NIST published SSDF 1.1 as high-level secure software development practices that can be integrated into each development lifecycle.
2022 Feb 8
Laravel 9 started the yearly, first-quarter release schedule that the framework still follows, replacing the earlier six-month cycle.
2022 Mar
RabbitMQ 3.10 added an opt-in at-least-once dead-letter strategy for quorum queues. It changed dead-letter transfer from a potentially lossy route into a retrying route when the target is temporarily unavailable.
2022 Mar
Go 1.18 added type parameters, built-in fuzzing support, and workspace mode. The release expanded both reusable type design and the standard testing workflow.
2022 Mar 4
PactFlow launched Bi-Directional Contract Testing as a PactFlow-exclusive feature. It compares a consumer contract with a provider's published specification instead of replaying consumer interactions.
2022 Apr
The release added configuration for timeouts, retries, and circuit breakers. It made runtime failure behavior an explicit resource that could target applications, components, and actors.
2022 Apr
The 2.10 release extended the established 2.x line before the next major version.
2022 Apr 5
SmartBear announced a definitive agreement with DiUS to acquire PactFlow and its companion open source project, Pact.
2022 May
The project announced metrics release candidates with shared metadata and semantic conventions alongside tracing. The Collector could also receive OpenTelemetry and Prometheus-compatible metrics.
2022 Jun
HTTP/3 standardizes HTTP over QUIC. Web servers can use QUIC streams to avoid transport-level head-of-line blocking across independent requests.
2022 Jun
RFC 9110 replaced earlier HTTP specifications with one definition of methods, status codes, and conditional requests. It is the reference for safe and idempotent methods and for codes such as 412 and 422.
2022 Aug 3
Django 4.1 added async class-based view handlers and an asynchronous interface for QuerySet data-access operations. The underlying database work remained synchronous.
2022 Aug 29
Kubernetes 1.25 stabilized inline ephemeral volumes, enabling external-store drivers to mount secrets with a lifecycle tied to a Pod.
2022 Sep
JEP 428 introduced structured concurrency as an incubating Java API. It treated related tasks as one unit so cancellation, failure, and observability could follow a visible task scope.
2022 Sep 12
Session Management, Front-Channel Logout, Back-Channel Logout, and RP-Initiated Logout became final specifications. Deployments gained stable choices for coordinating sessions beyond login.
2022 Oct
Kafka 3.3.1 documented KRaft mode as production ready for new clusters, making controller and broker role design a standard operational concern.
2022 Nov 8
The .NET 7 release added built-in rate limiting policies for handled requests. Rate limits could be attached to endpoints as part of the request-pipeline protection boundary.
2022 Nov 10
The Pact Plugin Framework went live, letting plugins add content types and transports such as Protobuf and gRPC. Contract testing with Pact extended beyond JSON over HTTP.
2022 Nov 14
Deno 1.28 stabilized npm compatibility and added `npm:` imports. The release made existing package selection part of routine Deno project evaluation.
2022 Nov 29
AWS enabled KMS operations to depend on key material held in an external key manager with separate authorization and audit outside AWS.
2022 Dec
PHP 8.2 added readonly classes and disjunctive normal form types. These features continued the move toward making object constraints explicit in code.
2023
Fedora accepts adding `-fno-omit-frame-pointer` and `-mno-omit-leaf-frame-pointer` to default C and C++ compilation flags, targeting Fedora Linux 38. The rationale is that stack unwinding via frame pointers is cheap while the DWARF alternative requires copying the full stack from kernel to user space, against a measured cost of about 2.4% on a kernel compile and 2% on a Blender render. A distribution-wide build flag is changed to make profiling work.
2023
ISO/IEC 9075-1:2023 published the sixth framework edition and references SQL property graph queries as part of the standard family. SQL continues to grow through coordinated parts rather than one vendor's dialect alone.
2023
The 2023 edition merged excessive data exposure and mass assignment into Broken Object Property Level Authorization and added Unrestricted Access to Sensitive Business Flows and Unsafe Consumption of APIs.
2023
The 2023 edition includes business-flow abuse, server-side request forgery, improper inventory management, and unsafe API consumption.
2023 Feb
The release planning record included Workflow as a preview and Configuration API stabilization. Dapr broadened from request mediation into durable application coordination and dynamic configuration.
2023 Feb
Kafka 3.4 added the migration path from ZooKeeper mode to KRaft mode, turning the architectural transition into an upgrade-planning concern for existing clusters.
2023 Feb
A research report quantified the network rounds and durable log writes on the two-phase commit critical path. It kept protocol overhead and fault behavior in active design discussion.
2023 Feb 14
Laravel 10 continued the annual cadence and raised the minimum supported PHP version, keeping the framework aligned with current language releases.
2023 Mar
Pulsar entered the 3.x release line, marking a new major-version baseline for users and operators.
2023 Mar 15
Grafana Labs acquires Pyroscope, founded in 2021, and merges it with Grafana Phlare, launched in 2022, under the name Grafana Pyroscope. The open-source continuous profiling field consolidates from two competing databases into one, alongside the framing of profiling as a further observability signal beside metrics, logs and traces.
2023 May
Elasticsearch 8.8 added vector-search enhancements, sparse-vector text expansion, and reciprocal-rank-fusion support. Vector retrieval could be combined more directly with conventional inverted-index search.
2023 May
NGINX 1.25.0 introduced experimental HTTP/3 support. Deployments adopting the newer transport needed an HTTP/3-capable build and configuration.
2023 May
Logging and telemetry plugins gained a redesigned queue implementation to reduce timer exhaustion and silent batch loss under burst load.
2023 May 2
Deno added support for `package.json` workflows while retaining URL-based imports. Projects could combine Deno-specific configuration with existing Node dependency and script conventions.
2023 Jun
Kafka 3.5.0 marked ZooKeeper as deprecated and described ZooKeeper-to-KRaft migration as early access. Upgrade planning now needed a migration decision, not only a broker rollout.
2023 Jun
Editions replace the fixed choice between proto2 and proto3 syntax with a per-file edition number and individually selectable features. It changes how the behavior of a gRPC schema evolves over time.
2023 Jul
OpenTelemetry announced the archive of OpenCensus repositories after feature-parity work. Migration attention shifted to stable OpenTelemetry tracing and metrics SDKs.
2023 Jul
RFC 9457 obsoleted RFC 7807 and kept application/problem+json as the standard error body for HTTP APIs, giving tests a common shape to assert for error responses.
2023 Aug
Go 1.21 added profile-guided optimization support and improved compiler build speed using PGO. Performance work could use production profile data in the standard toolchain.
2023 Aug 4
The TypeScript SDK hit a stable 1.0.0, extending first-class, production-supported Workflow and Activity authoring to the JavaScript ecosystem alongside the existing SDKs.
2023 Sep
RFC 9449 standardized application-layer proofs that sender-constrain OAuth access and refresh tokens to a key.
2023 Sep
JDK 21 delivers virtual threads managed by the JDK. The feature supports thread-per-task designs with existing diagnostic tools.
2023 Nov
C# 12 added primary constructors for classes and structs, along with collection expressions and other features. Constructor parameters could be placed in a type declaration when that form fits the type's contract.
2023 Nov
PHP 8.3 added typed class constants and the json_validate function. The release extended type declarations to another part of class design and added a dedicated JSON validation API.
2023 Nov 14
.NET 8 added Native AOT support for supported ASP.NET Core application types, including Minimal APIs. The deployment choice made trimming, generated JSON metadata, and incompatible dynamic features explicit design constraints.
2023 Dec 4
Django 5.0 added database-computed default values and database-side defaults. Model declarations could represent more database-managed behavior.
2023 Dec 16
The Foundation approved the second errata set for Core, Discovery, and Dynamic Registration, plus the first errata set for Back-Channel Logout.
2024 Mar
The maintained 3.0 line continued with a published stable release in 2024.
2024 Mar 12
Laravel 11 consolidated middleware and application configuration into bootstrap/app.php, reducing the number of default files, and bundled the first-party Reverb WebSocket server.
2024 May
RFC 9557 extended RFC 3339 timestamps with additional information, including a bracketed IANA time-zone name. It lets a representation carry both an observed offset and the rules intended for local-time interpretation.
2024 Jun 7
OpenTelemetry accepts Elastic's donation of its eBPF-based continuous profiling agent, which observes code across programming languages and runtimes, third-party libraries, kernel operations and system resources without code instrumentation, recompilation or service restarts, at roughly 1% CPU. Profiling gains a vendor-neutral collection agent and a data model that carries the same attributes as traces and metrics.
2024 Aug
Dapr added a Jobs API backed by the Scheduler service for durable scheduled work. Time-based processing became a first-class runtime capability rather than only a binding or application concern.
2024 Sep
Cassandra 5.0 added Storage Attached Indexes and marked the 3.x series end of life.
2024 Sep
Apache Cassandra 5.0 became generally available with storage-attached indexes, trie-based storage components, unified compaction, and vector capabilities. It also announced end of life for the 3.x series.
2024 Sep
With the v1.25.0 server line, Workflow Update — a message that sends input, runs handler logic, and returns a result — no longer required manual enabling, making synchronous request-response a standard way to interact with a running Workflow.
2024 Oct 9
Deno 2.0 made Node and npm backward compatibility a central release goal while retaining the integrated toolchain, web APIs, and secure-by-default model. Runtime selection increasingly required testing real packages instead of comparing slogans.
2024 Oct 24
The release identified published HTML specifications as authoritative source text for resolving interpretation questions.
2024 Nov
The Cloud Native Computing Foundation promoted Dapr to Graduated status. The milestone reflected project maturity and long-term governance expectations for adopters.
2024 Nov
Kafka 3.9.0 introduced dynamic KRaft controller membership and was the final major release with ZooKeeper mode. Controller membership became an administrative operation.
2024 Nov
PHP 8.4 added property hooks and asymmetric visibility. These features let classes express behavior and read or write access rules directly around properties.
2025
The 2025 edition updated the ten-category map, including software supply chain failures and mishandling of exceptional conditions.
2025 Jan
RFC 9700 consolidated deployment experience, prohibited unsafe grants, and updated defenses for redirects, tokens, and authorization responses.
2025 Feb 20
Rust 1.85 stabilized the 2024 edition with coordinated language, standard-library, Cargo, rustdoc, and rustfmt changes. Existing crates retained their selected editions until migration.
2025 Feb 24
Laravel 12 continued the annual cadence with a deliberate focus on minimal breaking changes, so most applications could upgrade with little code modification.
2025 Mar
Kafka 4.0 became the first major release to operate entirely without ZooKeeper and made KRaft the default mode.
2025 Mar
Kafka 4.0.0 became the first major release to operate entirely without ZooKeeper. KRaft mode became the default operational model and upgrade paths needed to account for it.
2025 May
ASVS 5.0.0 updated the verification standard that organizations use to define and test application security controls.
2025 Jun
NIST SP 800-228 organized controls across pre-runtime and runtime lifecycle stages for cloud-native systems.
2025 Sep 19
A new minor release added features including streaming media type support and richer tags.