Saturday, December 14, 2013

AngularJS 1.3: a new release approaches

Heads up! A new Angular release is on its way. Since we plan to discontinues support for old browsers, we wanted to give you plenty of notice. As a secondary goal, this release will cover features to improve performance, and small API fixes that require small breaking changes and removal of apis that were previously deprecated. We're also making a change to how we number stable/unstable releases.

AngularJS 1.3 discontinues support for Internet Explorer 8

Why we're doing this:

  • Modern browsers have evolved. Although our stats tell us that only a small percentage of users are on Internet Explorer 8, maintaining compatibility requires code that slows the rest of AngularJS down.
  • In April 2014, Microsoft will be ending support for Windows XP, which means the end of support for the operating system most of Internet Explorer 8 users use.

Dropping support for Internet Explorer 8  will enable us to add more exciting features to Angular faster, decrease Angular's support burden, and cut our build time in half, while affecting only a very small proportion of users.

But what if your users still rely heavily on Internet Explorer 8? If your app needs to keep supporting older browsers, you have a few options:

  • Keep using Angular 1.2.x.
  • Use 1.3 and test (or if you're feeling lucky, hope for the best). The changes in version 1.3 won't be actively removing the hacks in Angular that make Internet Explorer 8 work. Most things that work now will probably keep working. But we're going to stop testing against Internet Explorer 8 in our CI server configuration. And we won't be fixing issues that are solely related to support for Internet Explorer 8 users.
  • Look for commercial support outside the core project - the Angular ecosystem is now big enough that it wouldn't be shocking to us if a company started offering commercial support for Angular apps on IE8. (entrepreneurs: hint hint!)

Removal of deprecated apis

We are aiming at the promise unwrapping in Angular templates that we deprecated before v1.2.

New naming conventions for release versions

Since our long term goal is to move to semantic versioning (semver) for Angular 2.0, starting with AngularJS 1.3 we are replacing odd/even versioning we used previously with semver's pre-release notation.

What does that mean?

  • The first stable release under the 1.3.x release train will be 1.3.0.
  • Unstable releases toward 1.3.0 will use semver's pre-release notation (#.#.#-text.#) So, for example, 1.3.0-beta.1 and 1.3.0-beta.2 would be unstable releases.

New features for 1.3? Tell us what you care about.

We have a handful of things that we want to add, but we also want to hear from you! Since there is no good way to create a poll on GitHub, we are going to abuse GitHub a bit — if you care about a particular Issue or PR please post a comment with text "+1" on it. When the poll closes Mary Poppins will count the votes casted during the duration of the poll, *de-dupe* them and count them. (She'll then delete the vote comments and replace them with a summary comment.) The poll will close on January 2 and we'll use the results when deciding what to add to the 1.3 release.

OK. But when is Angular 1.3 actually coming?

We still have a few things lined up for the 1.2.x release train, and we want time to consider your votes. In spite of that you should see the first beta builds of 1.3.0 starting to roll out in January with the usual 1-2 week frequency.

Monday, November 25, 2013

On launching AngularJS 1.2: what we learned, what we're changing

You might have noticed something new since we launched 1.2... Now that we're caught up, we've begun pushing a new release every week or two to stay on top of things and keep the PR queue responsive. Unless there's something big or noteworthy, we're also no longer blogging about every release.

We learned a lot from launching 1.2. Here are our own notes on the 1.2 launch process, and what we'll be improving, in case you're curious too.

1.2 took way too long!

  • The community uptake and increase in github activity alongside 1.2 caught us by surprise. We got swamped, and it took some time to get on top of the new volume of contributions. We're back in the flow now, with a few new folks on the core team, and we're taking steps to keep from getting overwhelmed.
  • To handle this new volume, we needed better infrastructure in place. We were depending too much on manual processes; managing them took time that couldn't be spent on development. We've since improved the CI server, and added more automation to our launch processes and tests. We're also looking for more ways of automating and streamlining the release process.
  • Some of our 1.2 goals turned out to be much more challenging than we anticipated. Animations, for example -- we realized that we needed to do something different, to make it really easy to use by thoroughly anticipating use cases, instead of putting the burden on the developer to implement. Getting it right took longer.
  • Our release schedule wasn't all that well organized. Because the core team was overwhelmed, we often sat on fixes and features for too long, delaying the feedback loop with contributors. We're generating pre-release builds from the CI server and working on providing them via bower (either nightly or even after each commit) so that we can get feedback faster.

Underscore issues and the revert in 1.2.1

Shortly after 1.2, we issued 1.2.1, reverting a late change around hiding "private" properties prefixed with an underscore. We tested the change on hundreds of apps at Google, and with a few minor exceptions, nobody was affected, so we assumed it was safe to proceed. But we missed the real impact on apps elsewhere.  We reverted the change within a week, but we'd like to avoid making the same mistake again.

What steps are we taking?
  • We're committing to release more frequently, reducing the feature pressure on any one release.  With a consistent release schedule, we'll have more time to fully consider the implications of the features that we add and the changes we make.  
  • New pre-release builds from the CI server provide greater visibility into what we're working on. No surprises.
  • Even if the impact seems small, no more breaking changes in the last release before a final major version. We learned this lesson and we really mean it.

Friday, November 22, 2013

Farewell, Disqus

tl;dr: We are removing Disqus comments from the AngularJS docs.

Problems with Disqus
Besides making it difficult to moderate off-topic or inflammatory comments, many comments are specific to past versions of Angular. We think the documentation should be versioned alongside the code so there's never a question of whether information is out of date.

Disqus has been great for allowing us to get feedback and allow developers to share tips about AngularJS, but we think there are better ways to do this now. You'll always be able to see the Disqus comments in past versions of Angular (<=1.2.2), but going forward, here's where we think the things previously posted in comments should belong:

Post questions to StackOverflow or the mailing list. They tend to get answered more quickly and stay up-to-date because of the active community there.

Bug Reports (Issues)
Bug reports should go on Github. It's useful to be able to see everyone's issues, workarounds, and the progress towards fixing them all in the same place. See the relevant section of the contributing guide for more.

Improvements to the Documentation
We think the best way to improve the docs is by directly improving the text. You can do this via the "improve this doc" button at the top of each page.

Friday, November 15, 2013

AngularJS 1.2.1 - underscore-empathy available now

Our first stable release in the brave new post-1.2 world is available now.

AngularJS 1.2.1 underscore-empathy reverts hiding "private" properties, improves $compile for transcluded directives by making it possible for the child elements of a transcluded directive to access the transcluded directive's controller, and fixes a few minor bugs.

We introduced "private" properties (for properties prefaced with an underscore) in 1.2 thinking that this would be a fairly uncontroversial change. Oops! Apologies (and thank you) to the folks who filed bugs alerting us to the larger consequences in your code of making this breaking change. We've reverted this feature.

For full details in this release, see the changelog.

Thanks to the 33 superheroic individuals who contributed PRs!

Aaditya Talwai, andre, Andrei Korzhevskii, Ari, Ben Wiklund, Brian Ford, Caitlin Potter, Chirayu Krishnappa, Derek Peterson, Eddie Monge Jr, gdi2290, Igor Minar, James deBoer, Jeff Cross, Julien Sanchez, Martin Field, Mathis Hofer, Mauro Carrero, Miško Hevery, mkolodny, PatrickJS, Pete Bacon Darwin, Peter Kosa, Phillip Alexander, rsnapp, Sebastien Roul, smarigowda, Stéphane Reynaud, Tatham Oddie, Tobias Bosch, victorbjelkholm, Vojta Jina, xdhmoore.

Friday, November 8, 2013

AngularJS 1.2.0: timely-delivery

Our much-anticipated release of AngularJS 1.2.0 has landed. Pinch yourself; you're not dreaming.

AngularJS 1.2.0 timely-delivery fixes many issues found in 1.2.0-rc3, and introduces several new features since the previous stable release.

Since our last stable release, the most notable changes are:
The team has spent a lot of time consolidating, simplifying, improving content, and improving the user experience of our documentation. This is a work in progress, so stay tuned for more improvements.

For full details in this release see the changelog.

See the full migration guide on our guides.

Thanks to the 294 superheroic individuals who contributed PRs toward 1.2.0!

@supercobra, Adam, Adam Bowen, Adam Kent, Adam Shannon, Adam de Baugh, Alan Klement, Alex Olshansky, Alex Young, Alexander Kaidalov, Alexander Shtuchkin, Anders Hessellund Jensen, Andreas Marek, Andreas Sander, Andrew Jackson, Andrew O\'Brien, Andrew Peterson, Andrew Stuart, Andy Gurden, Andy Hitchman, Andy Joslin, Angel Balcarcel, Anthony Tran, Artemy Tregubenko, Arun Israel, Ash, Balázs Suhajda, Ben Holley, Ben Lesh, Ben McCann, Ben Ripkens, Ben Tesser, Boris Serdyuk, Brad Green, Braden Shepherdson, BrainCrumbz, Brenton, Brian Fitzpatrick, Brian Ford, Bruno Coelho, Butch Peters, Buu Nguyen, Caio Cunha, Caitlin Potter, Calvin Fernandez, Carl Danley, Chirayu Krishnappa, Christopher Hiller,, Colin Casey, Colin Frei, Dag-Inge Aas, DanS, Dang Nguyen Anh Khoa, Daniel Herman, Daniel Lamb, Daniel Luz, Daniel Tse, Dave Peticolas, David, David Barker, David Bennett, David Gonzalez, David Mosher, David Sanders, Dean Peterson, Dean Sofer, Derek Hammer, Dmitry Kichenko, Dmitry Shirokov, Domenic Denicola, Dusan Bartos, Eddie Monge, Eduardo Garcia, Ehsan Ghandhari, El Juli, Emmanuel, Eric Hagman, Eric Large, Eric Subach, Felix, Francesco Pontillo, Fred Sauer, Freek Wielstra, G Lormeau, G.H. Naylor, Gabor Csizmadia, George Bonner, Gias Kay Lee, Gowtam Lal, Greg Thornton, Grzegorz Lachowski, Hack Reactor Students, Henning Teek, Henry Hazan, Hubert SABLONNIÈRE, Igor Minar, Ilia Choly, Itamar Rogel, ItsLeeOwen, J Bruni, J. Tangelder, Jad Naous, James, James Daily, James Davies, James Dunn, James Roper, James Talmage, James deBoer, Jamie Mason, Jamund Ferguson, Jan Kuča, Jan Laußmann, Jared Forsyth, Jarrett Harris, JasonM23, Jeff Cross, Jeffrey Palmer, Jen Bourey, Jens Rantil, Jesse Palmer, Joao Sa, Joe Grund, Joe Hanink, JoeLeCodeur, Joey Organisak, John Bohn, Jordan Klassen, Josh McAdams, Josh Schumacher, Josh Taylor, Julie, Julien Bouquillon, Jussi Kosunen, Jérémy, Ken Chen, Ken Sheedlo, Lane Goldberg, Leandro Ostera, Lefteris Paraskevas, Leif Halvard Silli, Luc Morin, Lucas Galfasó, Maarten Stolte, Manuel Kiessling, Marc Tamlyn, Marcel Morgan, Marcin Wosinek, Marco Vito Moscaritolo, Mark Campbell, Mark J. Titorenko, Mark Striemer, Marko Bonaci, Martin Cortez, Martin Probst, Matias Niemelä, Matias Niemelä, Matthew Kleiman, Matthew Windwer, Merrick Christensen, Michael Kueller, Michael Stewart, Michal Bendowski, Michał Gołębiowski, Michiel Staessen, Mikk Kirstein, Misha Moroshko, Misko Hevery, Mr.Raindrop, Nelson Blaha, Nepoxx, Niall Smart, Nick Donohue, Nicola Peduzzi, Nicolas Brugneaux, NimaVaziri, OpherV, Ore Landau, P. Envall, Patrick Canfield, Patrick Drechsler, PatrickJS, Paul Meskers, Paulo Scardine, Pavel Vasek, Pawel Kozlowski, Paxton Hare, Pete Bacon Darwin, Peter Bacon Darwin, Peter Fern, Preston Marshall, R. Merkert, Randi Hillerøe, Renan Ivo, Reto Aebersold, Ricardo Bin, Richard, Richard John, Richard Sentino, Rob Culliton, Rob Dodson, Robb Shecter, Robbie Ferrero, Robert Fauver, Roberto Bonvallet, Roland, Ron Waldon, Rory Douglas, Sam Dornan, Santi Albo, Saul Maddox, Sean Fahey, Sebastian Müller, Sequoia McDowell, Siddique Hameed, Simeon Willbanks, Spencer, Spencer Applegate, Stefan hr Berder, Stephen Merity, Steven Sojka, Tay Ray Chuan, Thomas Tuts, Tim Graham, Tim Ruffles, Tim Statler, Tobias Bosch, Tom Dunstan, Tom Elovie Spruce, Tyler McGinnis, Umur Kontacı, Uri Goldshtein, Valentyn Shybanov, Vineet Kumar, Vojta Jina, Walter Higgins, Wesley Cho, Woody Peterson, Yang Pengcheng, Yuriy Bilogub, Zachary Friedman, adamshaylor, andre, anilgulecha, basarat, bolasblack, brakon, cjmling, commonlisp, douglascalhoun, ebeal, exex zian, gabriel-tessier, gdennie, gdi2290, ghodss, granteagon, jakub-bochenski, janhartigan, jankuca, joscarsson, joshbowdoin, joshkurz, joshrtay, jquadrin, justinrknowles, lorint, mgechev, micole, mmieszek, mtaran-google, naomiblack, naorye, neilmcgibbon, netpoetica, paolo-delmundo, phamdt, phanboy4, pzajdel, rjferguson21, rodbv, rodyhaddad, royling, sarkasm, sdesmond, sflahave, tgkokk, thorn0, tigbro, tomazy, ts-web, wiebl, Étienne Barrié

Tuesday, October 15, 2013

AngularJS 1.2.0-rc3: ferocious-twitch

Our last release candidate for 1.2, version 1.2.0-rc.3 is available. Onward to 1.2!

AngularJS 1.2.0-rc3 ferocious-twitch fixes a number of high priority issues in $compile and $animate and paves the way for 1.2.

This release also introduces some important breaking changes that in some cases could break your directives and templates. Please be sure to read the changelog to understand these changes and learn how to migrate your code if needed.

For full details in this release, see the changelog.

Please try it out, review the docs, and report any issues. If you find anything new affecting this release, be sure to note the version 1.2.0-rc.3 in your report.

Barring any exciting showstoppers in the next week, we'll wrap this up and declare it the official 1.2-release.

Thanks to the 117 superheroic individuals who contributed PRs!

Adam Kent, Alexander Kaidalov, Angel Balcarcel, anilgulecha, Anthony Tran, Ash, basarat, Ben Lesh, Ben McCann, Ben Tesser, Boris Serdyuk, brakon, Brian Ford, Butch Peters, Buu Nguyen, Caitlin Potter, Calvin Fernandez, Chirayu Krishnappa, cjmling, Colin Casey, commonlisp, Dag-Inge Aas, Dang Nguyen Anh Khoa, Daniel Luz, Daniel Tse, Dave Peticolas, David Barker, David Bennett, David Gonzalez, Dean Sofer, Eric Large, Felix, Francesco Pontillo, Fred Sauer, Freek Wielstra, gdennie, Gowtam Lal, Hack Reactor Students, Henning Teek, Henry Hazan, Hubert SABLONNIÈRE, Igor Minar, Ilia Choly, J Bruni, J. Tangelder, jakub-bochenski, James, James Daily, James Dunn, James Roper, Jamie Mason, janhartigan, jankuca, Jared Forsyth, JasonM23, Jeff Cross, Jen Bourey, Jesse Palmer, Joe Hanink, joscarsson, jquadrin, Julie, Ken Sheedlo, Lane Goldberg, lorint, Lucas Galfasó, Maarten Stolte, Marc Tamlyn, Mark J. Titorenko, Marko Bonaci, Martin Cortez, Matias Niemelä, Matthew Kleiman, Michael Kueller, Michał Gołębiowski, Michiel Staessen, Misha Moroshko, Mr.Raindrop, mtaran-google, naomiblack, naorye, Nick Donohue, Nicola Peduzzi, paolo-delmundo, Patrick Canfield, Patrick Drechsler, Paxton Hare, Pete Bacon Darwin, Peter Bacon Darwin, pzajdel, R. Merkert, Randi Hillerøe, Ricardo Bin, Richard, Richard Sentino, Rob Culliton, Roberto Bonvallet, rodyhaddad, Ron Waldon, royling, Sam Dornan, Saul Maddox, sflahave, Simeon Willbanks, Stefan hr Berder, Steven Sojka, Thomas Tuts, Tim Ruffles, Tim Statler, Tom Elovie Spruce, ts-web, Tyler McGinnis, Umur Kontacı, Uri Goldshtein, Vojta Jina, Woody Peterson, Zachary Friedman.

Tuesday, August 13, 2013

AngularJS 1.2.0-rc1: spooky-giraffe

The long-awaited release candidate for 1.2, version 1.2.0rc1 is available!

AngularJS 1.2.0rc1 spooky-giraffe adds a whole lot of new features that we've been working on in the 1.1.x releases: security improvements, a complete rewrite of transitions/animations support, better error messages (including error message minification), compiler additions, and better support for mobile/touchscreen devices.

There are also a few breaking changes since 1.1.5, most notably in $compile, to improve security and animations/transitions apis.

For full details in this release, see the changelog.

Please try it out, kick the tires, read the new docs, and report any issues. If you find anything new affecting this release, be sure to note the version 1.2.0-rc1 in your report.

We'll add a few more documentation changes, tutorial updates, and minor details before putting the final stamp on 1.2.

Thanks to the 115 superheroic individuals who contributed PRs in this release!

Adam, adamshaylor, Alan Klement, Alex Olshansky, Alex Young, Alexander Shtuchkin, Anders Hessellund Jensen, Andreas Marek, Andreas Sander, Andrew O'Brien, Andrew Peterson, Andy Hitchman, Andy Joslin, basarat, Ben Holley, Ben Ripkens, bolasblack, Braden Shepherdson, Brenton, Brian Fitzpatrick, Brian Ford, Bruno Coelho, Caio Cunha, Carl Danley, Chirayu Krishnappa, Daniel Herman, Daniel Luz, David, David Bennett, David Mosher, David Sanders, Dean Peterson, Dean Sofer, Domenic Denicola, Eddie Monge, Eduardo Garcia, Ehsan Ghandhari, Emmanuel, Eric Hagman, Eric Subach, Étienne Barrié, exex zian, gdi2290, Gias Kay Lee, Greg Thornton, Igor Minar, Itamar Rogel, Jad Naous, James Davies, James deBoer, Jamund Ferguson, jankuca, Jan Laußmann, Jared Forsyth, Jeff Cross, Jeffrey Palmer, Jens Rantil, Joao Sa, John Bohn, joshkurz, joshrtay, Julien Bouquillon, Jérémy, Ken Chen, Ken Sheedlo, Leandro Ostera, Lefteris Paraskevas, Luc Morin, Lucas Galfasó, Manuel Kiessling, Marcin Wosinek, Marco Vito Moscaritolo, Mark Campbell, Mark Striemer, Matias Niemelä, Matias Niemelä, Matthew Windwer, Michael Stewart, Michał Gołębiowski, Mikk Kirstein, Misha Moroshko, Misko Hevery, naomiblack, neilmcgibbon, Nelson Blaha, Niall Smart, NimaVaziri, OpherV, Ore Landau, P. Envall, Paul Meskers, Paulo Scardine, Pavel Vasek, Pawel Kozlowski, Pete Bacon Darwin, Peter Fern, Richard John, Robb Shecter, Robbie Ferrero, Robert Fauver, Roland, Rory Douglas, sarkasm, Santi Albo, sdesmond, Sebastian Müller, Siddique Hameed, Spencer, Spencer Applegate, Stephen Merity, Tay Ray Chuan, tgkokk, Vineet Kumar, Vojta Jina, Wesley Cho.

PS If you're wondering what's up with 1.0.x branch, we still have at least one bugfix release planned for 1.0.x. We're planning to have that out within a few days

Wednesday, May 22, 2013

AngularJS 1.0.7 monochromatic-rainbow and 1.1.5 triangle-squarification released!

Now that the Google I/O rush is over (you did watch our I/O presentation, right?), we have two more releases for you!

Just as with previous 1.0.x releases, AngularJS 1.0.7 monochromatic-rainbow brings a bunch of bug fixes and a ton of documentation improvements.

AngularJS 1.1.5 triangle-squarification is all about pushing the animations and transitions support in Angular into new heights by adding more flexibility and support for CSS animations. Additionally several major new features like ternary operator support in expressions, ngIf directive, ability to abort http requests and new "Controller as" syntax have been added.

For full details in both these releases, see the changelog.

Our appreciation to the community contributors responsible for the PRs in these releases: @fbiville, Alex Pods, Alfred Nutile, Anatoly Shikolay, Andreas Marek, Andreas Pelme, Andrew Vida, Anton, Artur Ostrega, Ben Ripkens, Braden Shepherdson, Brent Morrow, Brian Campbell, Chad Smith, Chad Whitacre, Chris M, Chris Nicola, Christoph Burgdorf, Colin Kahn, Dan Kohn, Daniel Stockton, Daniel Tse, Dave Geddes, David Bennett, David Holmes, David Sanders, Dean Sofer, Eugene Wolfson, Francesc Rosàs, Glenn Goodrich, Gonzalo Ruiz de Villa, Hamish Macpherson, Heath Matlock, Illniyar, Jamie R. Rytlewski, Jared Beck, Jeff Pickelman, Jens Rantil, Jeremy Wilken, Joakim Blomskøld, Keir Mierle, Kevin Wells, Laurent, Laurent Cozic, Lee Leathers, Luc Morin, Lucas Galfasó, Mark Dalgleish, Matias Niemelä, Matt Haggard, Matthieu Larcher, Merrick Christensen, Michal Reichert, Misha Moroshko, Oren Avissar, Patrick, Paulo Ávila, Pete Bacon Darwin, Prathan Thananart, R. Merkert, Robin Böhm, Ron Yang, Ryan Schumacher, Samuel Santos, Seunghoon Yeon, Siddique Hameed, Timothy Ahong, Tyler Akins, Zach Snow, austingreco, brandonjp, es128, gockxml, jamesBrennan, kamagatos, leesei, quazzie, uberspeck, urenmj, veselinn, willtj, winkler1, {Qingping,Dave} Hou, 玉黍

Monday, May 20, 2013

Spring Cleaning for GitHub

Spring is almost over, but it's not too late for us to do a bit of cleaning in our GitHub home.

We've been working hard on clearing our pull request queue.  We believe we're a few weeks away from being at a sustaining pace where all PRs get resolved in a week or so.  Hurrah!

Issues, however, are a different story.  There are 650+ issues with 5 to 10 arriving each day.  We've failed in all attempts in our imagination to think of a way to get on top of them.  Additionally, we believe that the majority of these issues are already addressed by PRs or are no longer valid for other reasons.

For this reason, we'll be declaring bankruptcy on the majority of these issues.  Next week, we'll be running a script to automatically:
  • Close issues older than 15 days that have no linked pull request.
  • Send an email to the issue reporter with an option to reopen if it is still an issue.
We've staffed up our attention on the issues queue and plan a similar turnaround time on all issues to move each of them to their next stage within a week or less.

Thanks for your continued help in making Angular great and we hope you enjoy the new clean house!

Thursday, April 4, 2013

AngularJS 1.0.6 universal-irreversibility and 1.1.4 quantum-manipulation released!

Today we are announcing two sweet AngularJS releases!

Just as with previous 1.0.x releases, AngularJS 1.0.6 universal-irreversibility brings a bunch of bug fixes and lots of documentation improvements.

AngularJS 1.1.4 quantum-manipulation is a beast packed with highly requested features like animation support, more flexible (and faster) ngRepeat directive, powerful promise-based http request interceptors, support for dynamically generated directive templates and initial batch of mobile/touch support.

Special thanks to Dave Geddes for helping us migrate our build system from Rake to Grunt, this means that building AngularJS from sources is now much easier for many folks and it's possible to build Angular even on Windows (if you really have to ;-) ).

For full details in both these releases, see the changelog.

We thought that animations would be the feature that would attract most of the attention, so to give you background on many design decisions that we made when implementing this feature, Miško gave a presentation on this topic yesterday at GDG Silicon Valley. Check out the video recording from this event to learn more as well as this animations demo app and an in-depth write up by Matias from

Our appreciation to the community contributors responsible for the PRs in these releases: Alexander Shtuchkin, Andrew McLeod, Arlen Christian Mart Cuss, Braden Shepherdson, Bruno Coelho,  Christian Vuerings, Ciro Nunes, Dave Geddes, David Chang, Felipe Lahti, Gert Goet, Jamie Mason, Jason Als, Jason Morrison, Javier Mendiara Cañardo, Julie, Jørgen Borgesen, Lucas Galfasó, Luis Ramón López, Manuel Braun, Mark Chapman, Mark Nadig, Matias Niemelä, Matt Ginzton, Matthew, McComb, Niel de la Rouviere, Pascal Borreli, Pawel Kozlowski, Shyam Seshadri, Srinivas Kusunam, Steven Davidson, Sujeet Pillai, Sylvester Keil, Thibault Leruitte, Vineet Kumar, William Bagayoko, danilsomsikov, zeflasher.


1.0.6 universal-irreversibility (stable branch)

Google CDN
Complete Changelog

1.1.4 quantum-manipulation (unstable branch)

Google CDN
Complete Changelog

Wednesday, February 20, 2013

AngularJS 1.0.5 flatulent-propulsion and 1.1.3 radioactive-gargle released!

What's new in this round? For starters, from now on you will find both the stable and unstable releases on the Google CDN. We're highly confident about the stability of angular's 1.1.x branch from here, and want to make it easy for developers to start using the new features, many of which are already in use by our own Google-developed apps.

Worth noting, in both 1.0.5 and 1.1.3: $compile now sanitizes values bound to <a href="{{expression}}">  for improved security, and also includes a fix for a memory leak when a template contains empty top level text nodes (see change notes 9532234b and 791804bd).

The unstable branch 1.1.3 radioactive-gargle includes all the bug fixes from 1.0.5 flatulent-propulsion, plus some new features to try out in your code. In particular, in 1.1.3 we've introduced promises on $resource. For docs on features exclusive to 1.1.3, check out the 1.1.3 repository.

For full details in both these releases, see the changelog.

Special white hat thanks to Zach Jones for reporting the security deficiency addressed in this release. We've also created a new contact address,, where you can email us to report any potential security issues in AngularJS in the future. We've built AngularJS to be secure by default (and went through a through security review at Google to prove it), so even though the security issue is not a critical one and is better addressed on the server-side, we added an extra layer of sanitization into our data-binding layer so that Angular developers have one less thing to worry about.

Our appreciation to the community contributors responsible for the PRs in these releases: Pete Bacon Darwin, Rosina Bignall, Fredrik Bonander, Trotter Cashion, Jesse Cooke, Ewen Cumming, Partap Davis, Brian Ford, Lucas Galfasó, Maxim Grach, Kury Kruitbosch, Vineet Kumar, Luis Ramón López, Daniel Luz, Sam McCall, metaweta, Will Moore, James Morrin, Mark Nadig, Enrique Paredes, PowerKiKi, Dylan Pyle, radu, Philip Roberts, Per Rovegård, Fred Sauer, Thomas Schultz, Dean Sofer, Cedric Soulas, theotheo.


1.0.5 flatulent-propulsion (stable branch)

Google CDN
Complete Changelog

1.1.3 radioactive-gargle (unstable branch)

Google CDN
Complete Changelog

Wednesday, January 23, 2013

AngularJS 1.0.4 bewildering-hair and 1.1.2 tofu-animation released!

What's new in these releases? Primarily doc improvements and bugfixes, including a fix in both 1.0.4 and 1.1.2 for a memory leak when ngSwitch was used inside a transcluded directive under certain conditions (see change notes a26234f7).

The unstable branch 1.1.2 tofu-animation includes all the bug fixes from 1.0.4 bewildering-hair, plus some new features to try out in your code.

For full details in both these releases, see the changelog.

Thanks to the community contributors responsible for the PRs in these releases: Pete Bacon Darwin, Stephane Bisson, Matthew Browne, Jonathan Card, Pascal Corpet, Murilo da Silva, Pedro Del Gallego, Peter Evjan, John Fletcher, Lucas Galfasó, pavelgj, ggoodman, Johannes Hansen, Matt Hardy, Gergely Imreh, Sudhir Jonathan, Pawel Kozlowski, nlaplante, Kanwei Li, kim lokoy, Luis Ramón López, Will Moore, Mark Nadig, Romain Neutron, _pants, sergiopantoja, petrovalex, Martin Probst, Shai Reznik, Matt Rohrer, Per Rovegård, Gonzalo Ruiz de Villa, János Rusiczki, danilsomsikov, Juha Syrjälä, Jeremy Tymes, Keyamoon


1.0.4 bewildering-hair (stable branch)

Google CDN
Complete Changelog

1.1.2 tofu-animation (unstable branch)

Complete Changelog

Thursday, January 10, 2013

AngularJS-MTV Hack Night Recap and DIY Tips

For our first California meetup of the year, we thought we'd try something different and host a Hack Night.

Presentation style meetups are great for a deep dive into a single topic, but it can be hard for people to get to know each other or dive into a thorny problem during a short Q&A. We wanted to try a less structured format, where people could just bring a project to work on and get some help from each other and from our experts. If you have an active local developer community with a few willing experts, you might try a Hack Night as an alternate format for your next meetup.

Check out the photos from the event to get a feel for what it was like to be there.

We had a wide range of projects: mobile feature development, multi-user gaming, simple apps and complex ones. One team gave us a super cool demo of a new project about to launch, all based in Angular. We're sworn to secrecy, but we can't wait to share their blog post with you.

Some other projects from around the room included:
  • Christie worked on an implementation of long click for a mobile HTML5 app
  • Greg Weber, who spoke at the November meetup, updated his statechart library with AngularJS routing.
  • Sean from the iUI web framework project wanted to work on integrating iUI with Angular.js. He came with some philosophical questions around the best way to support the $injector service.
  • Dean Sofer and the AngularUI folks answered a ton of questions and worked on merging some of their outstanding pull requests.
  • Dan Doyon and David Nelson worked together to get an infinite scroller working in an existing app.
  • Tom worked on a mobile app to help language learners build vocabulary.
  • A custom directive for the Aloha Editor
  • A charity funding application
  • Several projects doing Angular/MongoDB integration.
All in all, it was an interesting change of pace from our usual routine. It was inspiring to walk around the room at the end and see what people had built in a short time. I'm really looking forward to seeing how the community develops at the next one.

DIY Hack Night Tips

If you're planning a Hack Night of your own, here are some additional resources and tips:
  • It's useful to have few experts on hand who can focus on interacting with people and helping with questions. 
  • We asked people to tell us what they were working on before adding them to the event list. We then posted the answers on the wall at the meetup to help people get to know each other.
  • You can order AngularJS T-shirts and stickers from the same suppliers we use. Or download our creative commons licensed logo art and make your own. Check out the FAQ doc on for details. 
  • We've recently started a discussion label for "Hosting an Event" under our AngularJS Community on Google+ with tips for event organizers.
  • Announce your Hack Night on the wiki Events page and share it with us on Google+ so that we can help you spread the word! Two of our attendees from Austin, TX just happened to be in town for business and were able to join at the last minute.