SlideShare a Scribd company logo
1 of 15
Download to read offline
Perl 5, Version 13
David Golden
dagolden@cpan.org
www.dagolden.com
OSCON ▪ July 22, 2010
Perl 5, Version 13 development
 5.13.0 – Apr 20, 2010 – Leon Brocard
 5.13.1 – May 20, 2010 – Ricardo Signes
 5.13.2 – Jun 22, 2010 – Matt S. Trout
 5.13.3 – Jul 20, 2010 – David Golden
 5.13.4 – Aug ??, 2010 – Florian Ragwitz
Hardest part of releasing Perl 5?
 Writing the perldelta.
 Seriously. Ask anyone who has written one.
 Pumpkings have resigned rather than
writing the perldelta!*
* I'm kidding.
How did Jesse get to be Pumpking?
a) Throwing coffee mugs at a #p5p BOF
b) Given Excalibur by the Lady of the Lake
c) Volunteered to write 5.11 perldelta
d) Woke up with a hangover and an onion tattoo
How did Jesse get to be Pumpking?
a) Throwing coffee mugs
b) Given Excalibur by the Lady of the Lake
c) Volunteered to write 5.11 perldelta*
d) Woke up with a hangover and an onion tattoo
* Not really true
This talk is a perldeltadelta
 A summary of the summaries
 Stuff you might actually use
 Internal stuff you shouldn't ignore
Perl 5, Version 13, Subversion 0
 Faster shift without arguments
o my $self = shift; my $env = shift;
o 5% faster over shift(@_) on non-threaded perl
o 25% faster on threaded
 On linux, assigning to $0 sets process name
for ps, top, etc.
o $0 = "my-app-foo";
Perl 5, Version 13, Subversion 1
 given returns a value
# old way in 5.12
my $type;
given ($string) {
$type = undef when undef;
$type = 'digits' when /^d+$/;
$type = 'word' when /^w+$/;
$type = 'unknown';
};
Perl 5, Version 13, Subversion 1
 given returns a value (but must use do)
# new way in 5.13.1
my $type = do {
given ($string) {
break when undef;
'digits' when /^d+$/;
'word' when /^w+$/;
'unknown';
}
};
Perl 5, Version 13, Subversion 1
 Exceptions are less insane
o When an exception is thrown in an eval block,
$@ will not be clobbered exiting the eval
o Exceptions in DESTROY always warn, instead of
only sometimes warning
o Also, warn() takes objects just like die()
 Removed from core (available on CPAN)
o Class::ISA, Pod::Plainer, Switch
Perl 5, Version 13, Subversion 2
 Non-destructive substitution
(think 'r' for 'return')
@d = map { s/::/-/g; $_ } @m # 5.12
@d = map { s/::/-/gr } @m # 5.13.2
($new = $old) =~ s/cat/dog/; # 5.12
$new = $old =~ s/cat/dog/r; # 5.13.2
Perl 5, Version 13, Subversion 2
 package block syntax
{ package Foo; ... } # 5.12
package Foo { ... } # 5.13.2
{ package Foo 1.23; ... } # 5.12
package Foo 1.23 { ... } # 5.13.2
Perl 5, Version 13, Subversion 3
 New octal escape
o o{} similar to x{} and N{}
"033" # ESC (the old way)
"o{33}" # ESC (new for 5.13.3)
"o{23072}" # SMILEY (new for 5.13.3)
 Old octal escapes were insane
o "777" ne "0777"
o "023072" eq "023" . "072"
o qq{$stuff 10} # octal
o qr{$stuff 10} # octal OR backref
Perl 5, Version 13, Subversion 3
 N{NAME} understands abbreviations
"N{NBSP}" # N{NO-BREAK SPACE}
 Better documentation of all characters
escapes
 Dual-life modules synchronized with CPAN
Perl 5, Version 13 future
 "Contentious changes freeze" - 20 Dec 2010
 "User-visible changes freeze" - 20 Feb 2011
 "Hard freeze" - 30 Mar 2011
 "5.14 target release date" - 20 Apr 2011

More Related Content

More from David Golden

Slice Recycling Performance and Pitfalls
Slice Recycling Performance and PitfallsSlice Recycling Performance and Pitfalls
Slice Recycling Performance and PitfallsDavid Golden
 
Eversion 101: An Introduction to Inside-Out Objects
Eversion 101: An Introduction to Inside-Out ObjectsEversion 101: An Introduction to Inside-Out Objects
Eversion 101: An Introduction to Inside-Out ObjectsDavid Golden
 
One BSON to Rule Them
One BSON to Rule ThemOne BSON to Rule Them
One BSON to Rule ThemDavid Golden
 
Adventures in Optimization
Adventures in OptimizationAdventures in Optimization
Adventures in OptimizationDavid Golden
 
Make Comments Stand Out
Make Comments Stand OutMake Comments Stand Out
Make Comments Stand OutDavid Golden
 
State of the Velociraptor Mini-Keynote: Perl Toolchain
State of the Velociraptor Mini-Keynote: Perl ToolchainState of the Velociraptor Mini-Keynote: Perl Toolchain
State of the Velociraptor Mini-Keynote: Perl ToolchainDavid Golden
 
Practical Consistency
Practical ConsistencyPractical Consistency
Practical ConsistencyDavid Golden
 
How I get to the ☞
How I get to the ☞How I get to the ☞
How I get to the ☞David Golden
 
Real World Optimization
Real World OptimizationReal World Optimization
Real World OptimizationDavid Golden
 
Safer Chainsaw Juggling (Lightning Talk)
Safer Chainsaw Juggling (Lightning Talk)Safer Chainsaw Juggling (Lightning Talk)
Safer Chainsaw Juggling (Lightning Talk)David Golden
 
Taking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsTaking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsDavid Golden
 
Juggling Chainsaws: Perl and MongoDB
Juggling Chainsaws: Perl and MongoDBJuggling Chainsaws: Perl and MongoDB
Juggling Chainsaws: Perl and MongoDBDavid Golden
 
Cooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugCooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugDavid Golden
 
Cooking Perl with Chef: Hello World Tutorial
Cooking Perl with Chef: Hello World TutorialCooking Perl with Chef: Hello World Tutorial
Cooking Perl with Chef: Hello World TutorialDavid Golden
 
Cooking Perl with Chef
Cooking Perl with ChefCooking Perl with Chef
Cooking Perl with ChefDavid Golden
 

More from David Golden (17)

Slice Recycling Performance and Pitfalls
Slice Recycling Performance and PitfallsSlice Recycling Performance and Pitfalls
Slice Recycling Performance and Pitfalls
 
Free QA!
Free QA!Free QA!
Free QA!
 
Eversion 101: An Introduction to Inside-Out Objects
Eversion 101: An Introduction to Inside-Out ObjectsEversion 101: An Introduction to Inside-Out Objects
Eversion 101: An Introduction to Inside-Out Objects
 
IsTrue(true)?
IsTrue(true)?IsTrue(true)?
IsTrue(true)?
 
One BSON to Rule Them
One BSON to Rule ThemOne BSON to Rule Them
One BSON to Rule Them
 
Adventures in Optimization
Adventures in OptimizationAdventures in Optimization
Adventures in Optimization
 
Make Comments Stand Out
Make Comments Stand OutMake Comments Stand Out
Make Comments Stand Out
 
State of the Velociraptor Mini-Keynote: Perl Toolchain
State of the Velociraptor Mini-Keynote: Perl ToolchainState of the Velociraptor Mini-Keynote: Perl Toolchain
State of the Velociraptor Mini-Keynote: Perl Toolchain
 
Practical Consistency
Practical ConsistencyPractical Consistency
Practical Consistency
 
How I get to the ☞
How I get to the ☞How I get to the ☞
How I get to the ☞
 
Real World Optimization
Real World OptimizationReal World Optimization
Real World Optimization
 
Safer Chainsaw Juggling (Lightning Talk)
Safer Chainsaw Juggling (Lightning Talk)Safer Chainsaw Juggling (Lightning Talk)
Safer Chainsaw Juggling (Lightning Talk)
 
Taking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsTaking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order Functions
 
Juggling Chainsaws: Perl and MongoDB
Juggling Chainsaws: Perl and MongoDBJuggling Chainsaws: Perl and MongoDB
Juggling Chainsaws: Perl and MongoDB
 
Cooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugCooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with Jitterbug
 
Cooking Perl with Chef: Hello World Tutorial
Cooking Perl with Chef: Hello World TutorialCooking Perl with Chef: Hello World Tutorial
Cooking Perl with Chef: Hello World Tutorial
 
Cooking Perl with Chef
Cooking Perl with ChefCooking Perl with Chef
Cooking Perl with Chef
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 

Recently uploaded (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 

Perl 5 Version 13 Development and New Features

  • 1. Perl 5, Version 13 David Golden dagolden@cpan.org www.dagolden.com OSCON ▪ July 22, 2010
  • 2. Perl 5, Version 13 development  5.13.0 – Apr 20, 2010 – Leon Brocard  5.13.1 – May 20, 2010 – Ricardo Signes  5.13.2 – Jun 22, 2010 – Matt S. Trout  5.13.3 – Jul 20, 2010 – David Golden  5.13.4 – Aug ??, 2010 – Florian Ragwitz
  • 3. Hardest part of releasing Perl 5?  Writing the perldelta.  Seriously. Ask anyone who has written one.  Pumpkings have resigned rather than writing the perldelta!* * I'm kidding.
  • 4. How did Jesse get to be Pumpking? a) Throwing coffee mugs at a #p5p BOF b) Given Excalibur by the Lady of the Lake c) Volunteered to write 5.11 perldelta d) Woke up with a hangover and an onion tattoo
  • 5. How did Jesse get to be Pumpking? a) Throwing coffee mugs b) Given Excalibur by the Lady of the Lake c) Volunteered to write 5.11 perldelta* d) Woke up with a hangover and an onion tattoo * Not really true
  • 6. This talk is a perldeltadelta  A summary of the summaries  Stuff you might actually use  Internal stuff you shouldn't ignore
  • 7. Perl 5, Version 13, Subversion 0  Faster shift without arguments o my $self = shift; my $env = shift; o 5% faster over shift(@_) on non-threaded perl o 25% faster on threaded  On linux, assigning to $0 sets process name for ps, top, etc. o $0 = "my-app-foo";
  • 8. Perl 5, Version 13, Subversion 1  given returns a value # old way in 5.12 my $type; given ($string) { $type = undef when undef; $type = 'digits' when /^d+$/; $type = 'word' when /^w+$/; $type = 'unknown'; };
  • 9. Perl 5, Version 13, Subversion 1  given returns a value (but must use do) # new way in 5.13.1 my $type = do { given ($string) { break when undef; 'digits' when /^d+$/; 'word' when /^w+$/; 'unknown'; } };
  • 10. Perl 5, Version 13, Subversion 1  Exceptions are less insane o When an exception is thrown in an eval block, $@ will not be clobbered exiting the eval o Exceptions in DESTROY always warn, instead of only sometimes warning o Also, warn() takes objects just like die()  Removed from core (available on CPAN) o Class::ISA, Pod::Plainer, Switch
  • 11. Perl 5, Version 13, Subversion 2  Non-destructive substitution (think 'r' for 'return') @d = map { s/::/-/g; $_ } @m # 5.12 @d = map { s/::/-/gr } @m # 5.13.2 ($new = $old) =~ s/cat/dog/; # 5.12 $new = $old =~ s/cat/dog/r; # 5.13.2
  • 12. Perl 5, Version 13, Subversion 2  package block syntax { package Foo; ... } # 5.12 package Foo { ... } # 5.13.2 { package Foo 1.23; ... } # 5.12 package Foo 1.23 { ... } # 5.13.2
  • 13. Perl 5, Version 13, Subversion 3  New octal escape o o{} similar to x{} and N{} "033" # ESC (the old way) "o{33}" # ESC (new for 5.13.3) "o{23072}" # SMILEY (new for 5.13.3)  Old octal escapes were insane o "777" ne "0777" o "023072" eq "023" . "072" o qq{$stuff 10} # octal o qr{$stuff 10} # octal OR backref
  • 14. Perl 5, Version 13, Subversion 3  N{NAME} understands abbreviations "N{NBSP}" # N{NO-BREAK SPACE}  Better documentation of all characters escapes  Dual-life modules synchronized with CPAN
  • 15. Perl 5, Version 13 future  "Contentious changes freeze" - 20 Dec 2010  "User-visible changes freeze" - 20 Feb 2011  "Hard freeze" - 30 Mar 2011  "5.14 target release date" - 20 Apr 2011