<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LegNeato! &#187; Mozilla</title>
	<atom:link href="http://christian.legnitto.com/blog/categories/mozilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://christian.legnitto.com/blog</link>
	<description>Christian Legnitto&#039;s blog about Mozilla, Apple, technology, and random stuff</description>
	<lastBuildDate>Tue, 31 Aug 2010 03:58:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Push notifications for Bugzilla!</title>
		<link>http://christian.legnitto.com/blog/2010/08/20/push-notifications-for-bugzilla/</link>
		<comments>http://christian.legnitto.com/blog/2010/08/20/push-notifications-for-bugzilla/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 22:51:41 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[amqp]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[rabbitmq]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=78</guid>
		<description><![CDATA[I&#8217;ve had some downtime between Firefox releases and chose to work on a pet project on-and-off for the past week. I&#8217;m announcing it today as bugzilla-amqp. What is bugzilla-amqp? A server-side Bugzilla extension that sends messages to a message broker via AMQP whenever a Bugzilla object (bug, keyword, component, etc) is created or modified. Why? [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had some downtime between Firefox releases and chose to work on a pet project on-and-off for the past week. I&#8217;m announcing it today as <em>bugzilla-amqp</em>.</p>
<h3>What is <em>bugzilla-amqp?</em></h3>
<p>A server-side Bugzilla extension that sends messages to a <a href="http://en.wikipedia.org/wiki/Message_broker">message broker</a> via <a href="http://www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol">AMQP</a> whenever a <a href="http://www.bugzilla.org/">Bugzilla</a> object (bug, keyword, component, etc) is created or modified.</p>
<h3>Why?</h3>
<p>It enables <strong>push notifications for interesting events in Bugzilla</strong>! This is a <em>big deal</em>. Tools no longer have to poll the various APIs when dealing with bug data&#8230;instead they can sit back and get notified! Want to know when you are CC&#8217;d? Easy! Want to know when a new bug is written? No problem! Take a look at the quick demo video (<a href="http://people.mozilla.org/~clegnitto/broker/demo.webm">webm</a>, <a href="http://people.mozilla.org/~clegnitto/broker/demo.theora.ogv">theora</a>&#8230;warning, large!)</p>
<p>Because it talks AMQP, tools interested in the Bugzilla messages/events can be written in just about any language you want for any platform you want.</p>
<p>The impetus for writing this extension came from the desire to integrate <a href="http://pulse.mozilla.org/">Mozilla Pulse</a> (running <a href="http://www.rabbitmq.com/">RabbitMQ</a>) with <a href="https://bugzilla.mozilla.org">bugzilla.mozilla.org</a>, having push messages end-to-end.</p>
<h3>Sounds awesome! I want this on bugzilla.mozilla.org now!</h3>
<p>It won&#8217;t be rolled out on bmo for a bit yet. All these need to happen:</p>
<ol>
<li>There are some features that need to be added first (like, uh, security)</li>
<li>After that, because there is a fair amount of code (as far as Bugzilla extensions go), it will likely need to go through a security review</li>
<li>Performance testing needs to happen so that it doesn&#8217;t bring down bmo inadvertently</li>
<li>The server running Mozilla Pulse needs to get beefier and the traffic expectations with IT have to be revisited (I promised them it was a prototype after all&#8230;)</li>
</ol>
<p>I have filed <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=589322">bug 589322</a> to track putting the extension into production on bmo.</p>
<h3>Ok, still sounds awesome&#8230;where do I get the code?</h3>
<p>I&#8217;ve put it at <a href="http://github.com/LegNeato/bugzilla-amqp">http://github.com/LegNeato/bugzilla-amqp</a>. Let me know if you use it and/or find any issues and feel free to fork away!</p>
<h3>Are you some hardcore Bugzilla hacker?</h3>
<p>Nope, I&#8217;m a Firefox release manager <img src='http://christian.legnitto.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . The Bugzilla extension system is pretty easy&#8230;I highly suggest you take a look if you ever wished Bugzilla did something differently or wanted a feature added.</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/08/20/push-notifications-for-bugzilla/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://people.mozilla.org/~clegnitto/broker/demo.webm" length="2527006" type="video/webm" />
<enclosure url="http://people.mozilla.org/~clegnitto/broker/demo.theora.ogv" length="4023728" type="video/ogg" />
		</item>
		<item>
		<title>Reminder: Firefox 3.6.9 and 3.5.12 code freeze is TOMORROW @ 11:59 pm Pacific</title>
		<link>http://christian.legnitto.com/blog/2010/08/11/reminder-firefox-3-6-9-and-3-5-12-code-freeze-is-tomorrow-1159-pm-pacific/</link>
		<comments>http://christian.legnitto.com/blog/2010/08/11/reminder-firefox-3-6-9-and-3-5-12-code-freeze-is-tomorrow-1159-pm-pacific/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 22:00:04 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[freeze]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=73</guid>
		<description><![CDATA[Just a reminder that code freeze for Firefox 3.6.9 and 3.5.12 is TOMORROW @ 11:59 pm Pacific time. If you have any bugs in these queries, we need your attention on them ASAP: Firefox 3.6.9 blocking bugs that do not have an approved patch Firefox 3.5.12 blocking bugs that do not have an approved patch [...]]]></description>
			<content:encoded><![CDATA[<p>Just a reminder that <strong><a href="https://wiki.mozilla.org/Releases/Firefox_3.6.9#Schedule">code freeze for Firefox 3.6.9 and 3.5.12 is TOMORROW</a></strong> @ 11:59 pm Pacific time.</p>
<p>If you have any bugs in these queries, <strong>we need your attention on them  ASAP</strong>:</p>
<ul>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20blocking1.9.2:.9%2B%20-flag%3Aapproval1.9.2.9%2B%20-status1.9.2:.9-fixed">Firefox 3.6.9 blocking bugs that do not have an approved patch</a></li>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20blocking1.9.1:.12%2B%20-flag%3Aapproval1.9.1.12%2B%20-status1.9.2:.12-fixed">Firefox 3.5.12 blocking bugs that do not have an approved patch</a></li>
</ul>
<p>If you don&#8217;t think one of your bugs should be blocking (or you think it won&#8217;t make code freeze), please say so in the bug or <a href="mailto:clegnitto@mozilla.com">email me directly</a>.</p>
<p>If you have any bugs in these queries, the patch needs to be landed or it will not make the release:</p>
<ul>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20flag%3Aapproval1.9.2.9%2B%20-status1.9.2%3A.9-fixed">Firefox 3.6.9 approved bugs not marked as fixed</a></li>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20flag%3Aapproval1.9.1.12%2B%20-status1.9.1%3A.12-fixed">Firefox 3.5.12 approved bugs not marked as fixed</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/08/11/reminder-firefox-3-6-9-and-3-5-12-code-freeze-is-tomorrow-1159-pm-pacific/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Side projects for me in the coming weeks</title>
		<link>http://christian.legnitto.com/blog/2010/07/26/side-projects-for-me-in-the-coming-weeks/</link>
		<comments>http://christian.legnitto.com/blog/2010/07/26/side-projects-for-me-in-the-coming-weeks/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 19:01:12 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[process improvement]]></category>
		<category><![CDATA[side project]]></category>
		<category><![CDATA[status]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=71</guid>
		<description><![CDATA[I am going to focus on these side projects in the coming weeks, in addition to driving the Firefox security releases. If you see anything missing or something that needs my attention, please let me know. Projects in order of importance Patch for Bugzilla to add rich bug relations. This will give us greater confidence [...]]]></description>
			<content:encoded><![CDATA[<p>I am going to focus on these side projects in the coming weeks, in addition to driving the Firefox security releases. If you see anything missing or something that needs my attention, please let me know.</p>
<h2>Projects in order of importance</h2>
<ol>
<li><strong>Patch for Bugzilla to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=537749">add rich bug relations</a>.</strong><br />
This will give us greater confidence that bugs aren&#8217;t missed/overlooked. It will also help development by organizing bugs consistently and allow for richer tools, processes, and progress reporting</li>
<li><strong>Create a new &#8220;release management&#8221; system that will manage all aspects of a release.</strong><br />
This will allow consistent processes between different teams/releases, make sure nothing is missed, add checking tools, and generally become the &#8220;truth&#8221; when it comes to release metadata (schedule, state, status, etc)</li>
<li><strong>Get Mozilla Pulse (<a href="http://pulse.mozilla.org/">http://pulse.mozilla.org</a>) solid, usable, and useful.</strong><br />
Pulse has the opportunity to make all systems at Mozilla better. I hit some bumps with RabbitMQ but will be working on ironing them out and providing a scalable, HA system that can later be handed over to another team</li>
<li><strong>Create a triage reporting tool.</strong><br />
This will make the approval processes more open by publishing triage notes and results. It will also be a place to put action items so that they are acted upon before the next triage session</li>
<li><strong>Finish new release note framework.<br />
</strong>I started this when I first came but got tied up in other projects. The way we do release notes involves a lot of copy and paste, it is difficult for QA to create automated tests, etc. I intend to fix this</li>
<li><strong>Patch for TabCandy to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=568908">support user-defined rules</a>.</strong><br />
The response to TabCandy has been great, but I think having this feature will be essential for power users and those who don&#8217;t want to manually organize tab groups. I&#8217;ve looked at the TabCandy code a bit and this shouldn&#8217;t be <em>too</em> hard to hack in. I may work on this a bit as a breather from the above projects (but probably not)</li>
</ol>
<p>If you have any ideas about these systems (or others you think release management needs), please let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/07/26/side-projects-for-me-in-the-coming-weeks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mozilla Pulse and RabbitMQ</title>
		<link>http://christian.legnitto.com/blog/2010/07/17/mozilla-pulse-and-rabbitmq/</link>
		<comments>http://christian.legnitto.com/blog/2010/07/17/mozilla-pulse-and-rabbitmq/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 20:05:32 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[rabbitmq]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=70</guid>
		<description><![CDATA[I did a lightning talk at the Mozilla Summit about my pet infrastructure project, Mozilla Pulse. I&#8217;ll be talking about it in more depth in a future blog post. This post is more a call for help from message broker experts. I&#8217;ve been running into issues with RabbitMQ (the erlang message broker that runs on [...]]]></description>
			<content:encoded><![CDATA[<p>I did a lightning talk at the Mozilla Summit about my pet infrastructure project, <a href="http://pulse.mozilla.org">Mozilla Pulse</a>. I&#8217;ll be talking about it in more depth in a future blog post. This post is more a call for help from message broker experts.</p>
<p>I&#8217;ve been running into issues with <a href="http://rabbitmq.com">RabbitMQ</a> (the erlang message broker that runs on pulse). I griped a little on Twitter and got some responses, so I decided to write a more in-depth description of what I am running into. I&#8217;m not going to explain any message broker specific terminology, so feel free to skip this post if you don&#8217;t know what I am talking about. None of this should be important if you just want to use pulse in the future.</p>
<p>The general idea of using a message broker at Mozilla is to make useful tools on top of infrastructure, with the infrastructure (producers) being loosely coupled from the tools (consumers). Because of this, I came up with this configuration for an initial prototype:</p>
<h3>Exchanges</h3>
<h4>org.mozilla.exchange.bugzilla (topic)</h4>
<ul>
<li> All Bugzilla messages are routed in here. Bugzilla is the producer, with permissions of &#8220;.*bugzilla&#8221; &#8220;.*bugzilla&#8221; &#8220;.*bugzilla&#8221;. That is, the Bugzilla producer can do anything to the Bugzilla exchange</li>
<li>The message routing key hierarchy looks like <em>bug.added</em>, <em>bug.changed.[field]</em>, etc</li>
<li>The plan was to add more, sticking logic in the producer (that is, <em>bug.changed.resolution</em> when the message data is <em>CLOSED</em> should be elevated to <em>bug.closed</em> instead, etc)</li>
<li>The message rate is very high-volume for Mozilla&#8217;s Bugzilla, as you can imagine</li>
</ul>
<h4>org.mozilla.exchange.hg (topic)</h4>
<ul>
<li> All hg.mozilla.org messages are routed in here. HG is the producer,  with permissions of &#8220;.*hg&#8221; &#8220;.*hg&#8221; &#8220;.*hg&#8221;. That is,  the HG producer can do anything to the HG exchange</li>
<li>The message routing key hierarchy looks like <em>hg.mozilla.central.repo.[opened/closed]</em>, <em>hg.releases.mozilla.1.9.2.[commit/push]</em>, etc</li>
<li>The message rate is not that high-volume, though when watching all repositories it could be a bit bursty</li>
</ul>
<h4>org.mozilla.exchange.build (topic)</h4>
<ul>
<li> All build.mozilla.org messages are routed in here. Buildbot is the producer,   with permissions of &#8220;.*build&#8221; &#8220;.*build&#8221; &#8220;.*build&#8221;. That is,  the Buildbot producer  can do anything to the build exchange</li>
<li>This is currently experimental and the routing keys haven&#8217;t been figured out to provide the most value</li>
<li>Very high-volume, though less so than the Bugzilla exchange</li>
</ul>
<h3>Consumers</h3>
<p>These were my general goals for consumers:</p>
<ol>
<li>Be as simple as possible so people can start playing with pulse, proving the idea and getting some momentum</li>
<li>I do not want to be the bottleneck for experimentation, so no user accounts or administration tasks necessary to just consume messages</li>
<li>Users writing consumers should not need to learn about any of the underlying message broker terminology or technology</li>
<li>Users could be running consumers on their local machines, and when they reconnect all the messages they missed should be there waiting (they could clear the old messages or process them depending on their needs)</li>
</ol>
<p>Because of those, I came up with the following plan:</p>
<ol>
<li>Create a user named <em>public</em> with a password of <em>public</em> and permissions of &#8220;&#8221; &#8220;&#8221; &#8220;.*&#8221;, which as far as I know means the user can read from anything but not write or create. The <em>public</em> user can still write and create server-created resources, which means when it asks for the <em>foo</em> queue, the server will create it if it doesn&#8217;t exist and <em>public</em> will then only have access to read from it</li>
<li>Create a <a href="http://hg.mozilla.org/users/clegnitto_mozilla.com/mozillapulse/file/e547229fae84">trivial shim library</a> in python on top of carrot to abstract out the message broker bits and help Mozilla-specific consumers get up and running quickly</li>
<li>Make sure people testing set a unique string for their applabel, which means their queue will be unique and message delivery will not fall back to round-robin between different people</li>
</ol>
<p>So, seemed like a good plan, right? And it worked! Until&#8230;</p>
<h3>Issues</h3>
<h4>Deleting unused queues</h4>
<p>It became clear people (myself included) created some queues and then later changed to a different queue. The old queues were sitting there accumulating messages which would never be consumed. I went to delete the queues and&#8230;..rabbitmqctl doesn&#8217;t have a delete queue command. Darn. Ok, I have the <a href="http://www.rabbitmq.com/rabbitmq-bql.html">BQL plugin</a> installed, so not a huge deal to pop in and delete them through that, but it seems odd this functionality is missing.</p>
<h4>Running out of memory with old persister</h4>
<p>There were some bugs in the Bugzilla producer which caused messages to be extremely throttled. I fixed them and immediately the broker ran out of memory and fell over. This was because there were 10 or so queues that weren&#8217;t having messages actively consumed, each with ~1000 messages. I didn&#8217;t see this in testing because all my testing consumers were running and consuming the messages that were sent without any buildup. Additionally, the server is running on a VM (it&#8217;s a prototype after all) which doesn&#8217;t have a bunch of memory to begin with.</p>
<p>I tried to connect to the queues with a python consumer (using carrot) to drain them, but everything just hung. I could not drain the queues and unblock the server, which meant I couldn&#8217;t write an administration script that removed 500 messages out of any queue with &gt; 500 un-acked messages.</p>
<p>Reading around, a lot of people are running into this problem. The good news is that the new persister is supposed to fix it, though it isn&#8217;t quite done yet. It looks like the new persister is in QA and many people on the mailing lists are running it, so I decided to take the plunge on this prototype system.</p>
<h4>Incompatibilities between RabbitMQ 1.7.x and 1.8.x</h4>
<p>The prototype pulse system was running RabbitMQ 1.7.x and everything was working well (except for the out of memory bit above). To get the new persister, I had to update to 1.8 (as the latest persister branch is 1.8 based). I decided to upgrade to 1.8 release and make sure everything else still worked before adding the additional layer of pre-release code on top. This is what I did:</p>
<ol>
<li>Downloaded <a href="http://hg.rabbitmq.com/rabbitmq-public-umbrella">rabbitmq-public-umbrella</a></li>
<li>Compiled, installed, and then activated some plugins</li>
</ol>
<p>I deleted the old persister log, started the server, and immediately found an issue.</p>
<p>The public user couldn&#8217;t seem to create queues anymore. Darn,  that meant people wouldn&#8217;t be able to use my shim lib. Reading around, it  looked like it could be caused by having a 1.7.x data directory with  1.8.x, so I deleted the whole data directory and let RabbitMQ recreate  it. I then built up the exchanges, users, and permissions exactly as  before. The problem was still there.</p>
<p>So, it looks like the RabbitMQ change to the new AMQP semantics in 1.8 broke what  I was doing. Apparently, it is no longer possible to have a read-only  user create a queue. I guess this makes sense, though it was my (naive) understanding that automatic queue creation was built into the AMQP spec. That is, the read-only user is requesting it, and if it exists it is handed back to the user, otherwise the server creates it on their behalf. Perhaps this is a bug?</p>
<p>In any case, I opened up the permissions for the public user (this is a prototype system with no real users remember).</p>
<h4>Running out of memory with new persister</h4>
<p>I decided to take the plunge and make sure the new persister fixed my memory issue before pursuing the permissions issue. This is roughly what I did to upgrade:</p>
<ol>
<li>Downloaded <a href="http://hg.rabbitmq.com/rabbitmq-public-umbrella">rabbitmq-public-umbrella</a></li>
<li>Downloaded the new persister branch</li>
<li>Replaced rabbitmq-server in rabbitmq-public-umbrella with the persister branch</li>
<li>Compiled, installed, and then activated some plugins</li>
</ol>
<p>I then created some queues, started up the Bugzilla producer, and sent thousands of messages through. RabbitMQ fell over again, as far as I can tell with the same problem. I deleted the whole data directory and let RabbitMQ recreate  it. I then  built up the exchanges, users, and permissions exactly as  before. And it still ran out of memory.</p>
<h3>Questions</h3>
<ol>
<li>Are people successfully running the new persister for RabbitMQ?</li>
<li>Do I need to explicitly turn on the new persister when using the new persister branch? If so, how? There are (understandably) no docs that I can find.</li>
<li>Am I setting up the exchanges, queues, and vhosts wrong? As far as I can tell everything was working great before the OOM stuff and the 1.8 semantic changes.</li>
<li>Is there a better way to structure what I want to do?</li>
<li>Is my use-case not supported by RabbitMQ? That would be odd, as this seems like the exact use case that message brokers were made to solve. Do other brokers support what I want?</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/07/17/mozilla-pulse-and-rabbitmq/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox 3.6.6 was released yesterday, which means the next version is 3.6.7</title>
		<link>http://christian.legnitto.com/blog/2010/06/27/firefox-3-6-6-was-released-yesterday-which-means-the-next-version-is-3-6-7/</link>
		<comments>http://christian.legnitto.com/blog/2010/06/27/firefox-3-6-6-was-released-yesterday-which-means-the-next-version-is-3-6-7/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 19:58:04 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=67</guid>
		<description><![CDATA[Some of you may have noticed we released a quick Firefox 3.6.6 yesterday (Saturday here in the states). This was created off the 3.6.4 relbranch and only included one additional fix. To be clear, anything that was previously marked as 1.9.2.6 fixed did NOT go out in 3.6.6. Confusing, I know.  I also wanted to [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you may have noticed we released a quick <a href="http://blog.mozilla.com/blog/2010/06/26/firefox-3-6-6-now-available-for-download/">Firefox 3.6.6 yesterday</a> (Saturday here in the states). This was created off the 3.6.4 relbranch and only included one additional fix. To be clear, anything that was previously marked as 1.9.2.6 fixed did NOT go out in 3.6.6. Confusing, I know.  I also wanted to say <strong>thank you to all those that gave up a day of their weekend and got the release out the door.</strong></p>
<p>Because of the release, we moved the previous 1.9.2.6 blocking and nomination flags to 1.9.2.7, as the next released version of Firefox will be 3.6.7.</p>
<p><a href="https://wiki.mozilla.org/Releases/Firefox_3.6.7">Code freeze for 3.6.7 and 3.5.11 was Friday</a>, which means we are now frozen. <strong>There are still a bunch of open blockers</strong>! PLEASE, please take a look at these lists and see if you are on the hook. <strong>Even though we are frozen, we will be approving fixes for blockers (mostly security fixes) on an ad-hoc basis if they come in early enough in the week.</strong></p>
<ul>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20blocking1.9.2:.7%2B%20-flag%3Aapproval1.9.2.7%2B%20-status1.9.2:.7-fixed">Open blockers in Firefox 3.6.7</a></li>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20blocking1.9.1:.11%2B%20-flag%3Aapproval1.9.1.11%2B%20-status1.9.2:.11-fixed">Open blockers in Firefox 3.5.11</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/06/27/firefox-3-6-6-was-released-yesterday-which-means-the-next-version-is-3-6-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reminder: Firefox 3.6.6 and 3.5.11 code freeze is TONIGHT @ 11:59 pm Pacific</title>
		<link>http://christian.legnitto.com/blog/2010/06/25/reminder-firefox-3-6-6-and-3-5-11-code-freeze-is-tonight-1159-pm-pacific/</link>
		<comments>http://christian.legnitto.com/blog/2010/06/25/reminder-firefox-3-6-6-and-3-5-11-code-freeze-is-tonight-1159-pm-pacific/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 21:01:01 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[convergence]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=65</guid>
		<description><![CDATA[Just a reminder that code freeze for Firefox 3.6.6 and 3.5.11 is TONIGHT @ 11:59 pm Pacific time. If you have any bugs in these queries, we need your attention on them ASAP (if you aren&#8217;t in the critical path for Firefox 4 beta of course): Firefox 3.6.6 blocking bugs that do not have an [...]]]></description>
			<content:encoded><![CDATA[<p>Just a reminder that <strong><a href="https://wiki.mozilla.org/Releases/Firefox_3.6.6#Schedule">code freeze for Firefox 3.6.6 and 3.5.11 is TONIGHT</a></strong> @ 11:59 pm Pacific time.</p>
<p>If you have any bugs in these queries, <strong>we need your attention on them  ASAP</strong> (if you aren&#8217;t in the critical path for Firefox 4 beta of course):</p>
<ul>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20blocking1.9.2:.6%2B%20-flag%3Aapproval1.9.2.6%2B%20-status1.9.2:.6-fixed">Firefox  3.6.6 blocking bugs that do not have an approved patch</a></li>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20blocking1.9.1:.11%2B%20-flag%3Aapproval1.9.1.11%2B%20-status1.9.2:.11-fixed">Firefox  3.5.11 blocking bugs that do not have an approved patch</a></li>
</ul>
<p>If you don&#8217;t think one of your bugs should be blocking, please say so in the bug or <a href="mailto:clegnitto@mozilla.com">email me directly</a>.</p>
<p>If you have any bugs in these queries, your patch needs to be landed:</p>
<ul>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20flag%3Aapproval1.9.2.6%2B%20-status1.9.2%3A.6-fixed">Firefox 3.6.6 approved bugs not marked as fixed</a></li>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20flag%3Aapproval1.9.1.11%2B%20-status1.9.1%3A.11-fixed">Firefox 3.5.11 approved bugs not marked as fixed</a></li>
</ul>
<p>These bugs have the <em>checkin-needed</em> keyword and it would be great for other people to land them:</p>
<ul>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20flag%3Aapproval1.9.2.6%2B%20checkin-needed%20-status1.9.2%3A.6-fixed">Firefox 3.6.6 checkin-needed</a></li>
<li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20flag%3Aapproval1.9.1.11%2B%20checkin-needed%20-status1.9.1%3A.11-fixed">Firefox 3.5.11 checkin-needed</a></li>
</ul>
<p>Ehsan and Reed may beat you to those <em>checkin-needed</em> bugs though!</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/06/25/reminder-firefox-3-6-6-and-3-5-11-code-freeze-is-tonight-1159-pm-pacific/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Are you a Makefile guru? Would you like to make Firefox more secure?</title>
		<link>http://christian.legnitto.com/blog/2010/06/25/are-you-a-makefile-guru-would-you-like-to-make-firefox-more-secure/</link>
		<comments>http://christian.legnitto.com/blog/2010/06/25/are-you-a-makefile-guru-would-you-like-to-make-firefox-more-secure/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 16:26:34 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=64</guid>
		<description><![CDATA[If you are a Makefile guru or just have a bit of spare time to slog through Makefile syntax, take a crack at: Bug 567134 &#8211; Use ASLR in NSS if it&#8217;s available This bug (combined with Bug 559133 &#8211; Use ASLR in NSPR if it&#8217;s available) will go a long way to hardening Firefox! If we [...]]]></description>
			<content:encoded><![CDATA[<p>If you are a Makefile guru or just have a bit of spare time to slog through Makefile syntax, take a crack at:</p>
<ul>
<li> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=567134"><strong>Bug 567134</strong></a> &#8211;        Use ASLR in NSS if it&#8217;s  available</li>
</ul>
<p>This bug (combined with <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=559133"><strong>Bug 559133</strong></a> &#8211;        Use ASLR in NSPR if it&#8217;s  available) will go a long way to hardening Firefox!</p>
<p>If we could get a patch landed for Firefox 3.6.6 (<a href="https://wiki.mozilla.org/Releases/Firefox_3.6.6#Schedule">code freeze is tonight</a>!) it would be AMAZING.</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/06/25/are-you-a-makefile-guru-would-you-like-to-make-firefox-more-secure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox 3.6.4 is available, now with less plugin crashes!</title>
		<link>http://christian.legnitto.com/blog/2010/06/22/firefox-3-6-4-is-available-now-with-less-plugin-crashes/</link>
		<comments>http://christian.legnitto.com/blog/2010/06/22/firefox-3-6-4-is-available-now-with-less-plugin-crashes/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 21:54:56 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[oopp]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=62</guid>
		<description><![CDATA[Firefox 3.6.4 was released today! This version of Firefox has out-of-process-plugins (OOPP) for Linux and Windows users. Check out the announcement for more info. Thank you to everyone that worked so hard over the last couple of months to make this release happen. I know OOPP will be a huge win for Firefox users and [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox 3.6.4 was released today! This version of Firefox has out-of-process-plugins (OOPP) for Linux and Windows users. Check out the <a href="https://developer.mozilla.org/devnews/index.php/2010/06/22/firefox-3-6-4-with-crash-protection-now-available/">announcement</a> for more info.</p>
<p>Thank you to everyone that worked so hard over the last couple of months to make this release happen. I know OOPP will be a huge win for Firefox users and will make browsing better all around.</p>
<p>Community testers, release engineering, QA, Firefox and platform engineering, and others did amazing work to make this release solid and release it into the hands of our users.</p>
<p>There were a lot of &#8220;firsts&#8221; for this release and I believe we learned a lot. I&#8217;ll be giving a talk at the <a href="https://wiki.mozilla.org/Summit2010">Mozilla Summit</a> summarizing what we learned and how we can apply it to future releases, so if you are interested in the nitty-gritty check it out!</p>
<p>Thanks again to everyone for their hard work!</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/06/22/firefox-3-6-4-is-available-now-with-less-plugin-crashes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Heads up, the next Firefox platform version is 1.9.2.6 instead of 1.9.2.5</title>
		<link>http://christian.legnitto.com/blog/2010/06/09/heads-up-the-next-firefox-platform-version-is-1-9-2-6-instead-of-1-9-2-5/</link>
		<comments>http://christian.legnitto.com/blog/2010/06/09/heads-up-the-next-firefox-platform-version-is-1-9-2-6-instead-of-1-9-2-5/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 19:57:23 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=61</guid>
		<description><![CDATA[I just wanted to post a quick note about this to a wider audience as I have been talking about it in Mozilla meetings&#8230; Firefox 3.6.4 (get the release candidate!) has a platform version of 1.9.2.4. The version number 1.9.2.5 is currently being used by Fennec. We&#8217;ll be taking fixes above and beyond that version, [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to post a quick note about this to a wider audience as I have been talking about it in Mozilla meetings&#8230;</p>
<p>Firefox 3.6.4 (<a href="http://mozilla.com/firefox/all-beta.html">get the release candidate</a>!) has a platform version of 1.9.2.<strong>4</strong>. The version number 1.9.2.<strong>5</strong> is <a href="http://www.mozilla.com/en-US/m/beta">currently being used by Fennec</a>. We&#8217;ll be taking fixes above and beyond that version, so the next platform version Firefox will use will be named 1.9.2.<strong>6</strong>. We will keep the version numbers coherent by naming it Firefox 3.6.<strong>6 </strong>(essentially skipping over 3.6.5).</p>
<p>I will be moving the blocking flags and status flags as appropriate, so if you see activity in bugs don&#8217;t worry. Also, If you have approvals for 1.9.2.5 they are now for 1.9.2.6 (and should still be landed on mozilla-1.9.2 default).</p>
<p>This is nothing more than a name change, everything still refers to the same Firefox release.</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/06/09/heads-up-the-next-firefox-platform-version-is-1-9-2-6-instead-of-1-9-2-5/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Firefox 3.6.4 is still chugging along</title>
		<link>http://christian.legnitto.com/blog/2010/05/27/firefox-3-6-4-is-still-chugging-along/</link>
		<comments>http://christian.legnitto.com/blog/2010/05/27/firefox-3-6-4-is-still-chugging-along/#comments</comments>
		<pubDate>Thu, 27 May 2010 16:33:06 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[oopp]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[status]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=56</guid>
		<description><![CDATA[If you haven&#8217;t called into Mozilla&#8217;s platform or release meetings you may be wondering what the heck is going on with Firefox 3.6.4. We originally announced a beta of Firefox 3.6.4 on April 20th, 2010. We then let everyone know there was an updated beta on May 4th, 2010. Today is May 27th. What&#8217;s been [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t called into Mozilla&#8217;s platform or release meetings you may be wondering what the heck is going on with Firefox 3.6.4.</p>
<p>We originally announced a beta of Firefox 3.6.4 on <a href="https://developer.mozilla.org/devnews/index.php/2010/04/20/firefox-3-6-4-beta-available-for-download-and-testing/">April 20th, 2010</a>. We then let everyone know there was an updated beta on <a href="https://developer.mozilla.org/devnews/index.php/2010/05/04/updated-firefox-3-6-4-beta-available-for-download-and-testing/">May 4th, 2010</a>. Today is May 27th. What&#8217;s been happening since the 4th? <strong>Lots!</strong></p>
<ol>
<li>In total we built (and mostly released) <a href="ftp://ftp.mozilla.org/pub/firefox/nightly/3.6.4-candidates/">five builds of Firefox 3.6.4 for our beta users</a></li>
<li>We have been analyzing crash reports, making sure there are no new issues and quantifying the benefits of out-of-process-plugins. Out-of-process-plugin hangs / crashes (or <em>OOPsies</em>) are now easier to see thanks to a new version of Socorro that rolled out a couple weeks ago. You can see an example by<a href="http://crash-stats.mozilla.com/products/Firefox/versions/3.6.4"> looking at this report</a>. The &#8220;hang |&#8221; signatures are reports that are sent when a plugin misbehaves. Note that there is still more work to do to filter out OOPsies in aggregate graphs and counts</li>
<li>We have been working with antivirus and firewall vendors to make sure the new &#8220;plugin-container.exe&#8221; process used by OOPP isn&#8217;t flagged as malware. If you work for such a vendor and have not heard from us please get in touch</li>
<li>We have started creating the sixth build with a fix to the only known blocker. Hopefully build number six will meet our high quality standards and become Firefox 3.6.4 final (after a beta period of course). I&#8217;ll do another blog post letting everyone know when the release candidate build is out. In the meantime, you can help out by installing and testing the latest beta from <a href="http://www.mozilla.com/firefox/all-beta.html">http://www.mozilla.com/firefox/all-beta.html</a></li>
</ol>
<p>As always, the most up-to-date release plan can be<a href="https://wiki.mozilla.org/Releases"> found on the wiki</a>.</p>
<p>We know out-of-process-plugins will make a huge difference for our user base and we are trying to get Firefox 3.6.4 released as soon as possible. Hang tight and <a href="http://www.mozilla.com/firefox/all-beta.html">help us test</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/05/27/firefox-3-6-4-is-still-chugging-along/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Thanks to those who worked on Firefox 3.6.3</title>
		<link>http://christian.legnitto.com/blog/2010/04/05/thanks-to-those-who-worked-on-firefox-3-6-3/</link>
		<comments>http://christian.legnitto.com/blog/2010/04/05/thanks-to-those-who-worked-on-firefox-3-6-3/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 23:22:10 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[thanks]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=29</guid>
		<description><![CDATA[I just wanted to give a quick thank you to those who helped get Firefox 3.6.3 out the door. This was the first release I was driving and everyone at Mozilla was super helpful and patient with my questions. Though a rapid security update would normally be viewed as entirely negative, 3.6.3 had a couple [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to give a quick <strong>thank you</strong> to those who helped get <a href="http://www.mozilla.com/firefox/3.6.3/releasenotes/">Firefox 3.6.3</a> out the door. This was the first release I was driving and everyone at Mozilla was super helpful and patient with my questions.</p>
<p>Though a rapid security update would normally be viewed as entirely negative, 3.6.3 had a couple of positive points for me:</p>
<ol>
<li>It was my first release, which made me more aware of what was going on. The experience should help releases going forward.</li>
<li>The release fixed a public security issue without regressions. It made Firefox users safer without compromising stability. The no regressions bit is very important, as we want users to trust updates enough to apply them quickly. If you see a regression please <a href="http://hendrix.mozilla.org">let us know</a>.</li>
<li>We beat our Pwn2Own response time from last year. Last year it was 10 days (which is <strong>great</strong>), this year it was 8 days (which is <strong>amazing</strong>).</li>
<li>We beat other companies to a fix and received<a href="http://www.computerworld.com/s/article/9174680/Mozilla_beats_Apple_Microsoft_to_Pwn2Own_patch_punch"> recognition from the press</a> for it. Though security is not a race, it&#8217;s nice to be first (without sacrificing stability of course).</li>
<li>Beating Apple to a publicly released fix gives me the opportunity to gloat to my old team. I enjoy gloating <strong>immensely</strong>.</li>
</ol>
<p>Thanks everyone!</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/04/05/thanks-to-those-who-worked-on-firefox-3-6-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox trunk nightly on Mac OS X not staying set as default browser?</title>
		<link>http://christian.legnitto.com/blog/2010/03/29/firefox-trunk-nightly-on-mac-os-x-not-staying-set-as-default-browser/</link>
		<comments>http://christian.legnitto.com/blog/2010/03/29/firefox-trunk-nightly-on-mac-os-x-not-staying-set-as-default-browser/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 17:53:04 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=26</guid>
		<description><![CDATA[If you are using nighties of trunk on Mac OS X and have found that your default browser choice is reverting to Safari, you are hitting bug 554997. The bug is &#8220;fallout&#8221; from bug 553073. It should not affect any release version of Firefox and should only affect testers who auto-updated from a build without [...]]]></description>
			<content:encoded><![CDATA[<p>If you are using nighties of trunk on Mac OS X and have found that your default browser choice is reverting to Safari, you are hitting <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=554997">bug 554997</a>.</p>
<p>The bug is &#8220;fallout&#8221; from <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=553073">bug 553073</a>. It should not affect any release version of Firefox and should only affect testers who auto-updated from a build without <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=553073">bug 553073</a>.</p>
<p>There is a simple workaround. In Terminal, run:</p>
<p><code>touch /Applications/Minefield.app</code></p>
<p>Of course, change the location to where you actually have the nightly if it isn&#8217;t in /Applications.</p>
<p>If you are not comfortable with the Terminal, simply moving the application to the desktop and back should fix the issue as well.</p>
<p>As a consequence of fixing <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=553073">bug 553073</a>, the default browser choice should now stick if you run Firefox and Minefield side by side.</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/03/29/firefox-trunk-nightly-on-mac-os-x-not-staying-set-as-default-browser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hello planet!</title>
		<link>http://christian.legnitto.com/blog/2010/03/24/hello-planet/</link>
		<comments>http://christian.legnitto.com/blog/2010/03/24/hello-planet/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 20:52:53 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[intro]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://christian.legnitto.com/blog/?p=3</guid>
		<description><![CDATA[My name&#8217;s Christian Legnitto (LegNeato on IRC/Twitter) and I started working at Mozilla last week. I love it so far! I joined Mozilla as the new release driver for Firefox security and stability releases, so you&#8217;ll be hearing a lot about updates from me. Before Mozilla I worked at Apple doing (surprise) security and stability [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_6" class="wp-caption alignleft" style="width: 148px"><a href="http://christian.legnitto.com/blog/wp-content/uploads/2010/03/me.jpg"><img class="size-full wp-image-6" title="Christian Legnitto" src="http://christian.legnitto.com/blog/wp-content/uploads/2010/03/me.jpg" alt="This is what I look like" width="138" height="164" /></a><p class="wp-caption-text">This is me</p></div>
<p>My name&#8217;s Christian Legnitto (LegNeato on IRC/Twitter) and I started working at Mozilla last week. I love it so far! I joined Mozilla as the new release driver for Firefox security and stability releases, so you&#8217;ll be hearing a lot about updates from me.</p>
<p>Before Mozilla I worked at Apple doing (surprise) security and stability releases for Mac OS X. If you use Mac OS X and have installed any security update or point release since 10.4.6, you&#8217;ve seen my handiwork.</p>
<p>So what does a release driver do? A lot! First and foremost, I define the scope and schedule for the deliverable/update. Once defined, I then drive the project forward. This usually involves a lot of status checking and bugging people for fixes and/or testing. At the end of it all I&#8217;m the person that decides to push the big red button and send an update out to millions of users. And if anything breaks because of the update? It&#8217;s my job to take responsibility, figure out why it happened, and make sure it doesn&#8217;t happen again.</p>
<p>I&#8217;ll also be using my past release experience to suggest process and tool improvements at Mozilla. And because I am a programmer at heart, I will likely write a bunch of tools myself when I have downtime.</p>
<p>My Mozilla-related posts should show up on <a href="http://planet.mozilla.org">planet.mozilla.org</a> and <a href="http://planet.firefox.com">planet.firefox.com</a>, but I&#8217;ll be talking about other stuff as well, so feel free to check out <a href="http://christian.legnitto.com/blog">http://christian.legnitto.com/blog</a> or follow me on twitter (<a href="http://twitter.com/LegNeato">@LegNeato</a>). Also, all this tweeting and blog posting is fairly new to me&#8230;so feel free to give me some pointers!</p>
]]></content:encoded>
			<wfw:commentRss>http://christian.legnitto.com/blog/2010/03/24/hello-planet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
