<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Deprecation on Brian Faust</title><link>https://wimdy.works/tags/deprecation/</link><description>Recent content in Deprecation on Brian Faust</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://wimdy.works/tags/deprecation/rss.xml" rel="self" type="application/rss+xml"/><item><title>Deprecation Is a Migration, Not a Warning</title><link>https://wimdy.works/thoughts/deprecation-is-a-migration-not-a-warning/</link><pubDate>Tue, 01 Oct 2019 00:00:00 +0000</pubDate><guid>https://wimdy.works/thoughts/deprecation-is-a-migration-not-a-warning/</guid><description>&lt;p&gt;A billing rewrite introduced durable export records before removing several
legacy queue jobs. Each new worker carried a record identifier. The export
type, payload snapshot, attempts, failure details, and retry state lived in the
database. A registry selected the current handler.&lt;/p&gt;
&lt;p&gt;That order matters. A queued object is not merely code waiting to run. Its
serialized class name and properties are data, even if nobody thinks of them as
a schema. Delete the class while an old payload remains, and PHP can deserialize
it as an incomplete object which no longer has the method the worker expects.&lt;/p&gt;</description></item></channel></rss>