Finagle | Blog (original) (raw)
Jul 2022 Release Notes - Version 22.7.0
Posted by Vladimir Kostyukov on July 28, 2022
This release comes with a delay, which was intentional. A few months ago, we’ve decided to slow down our release train and switch from releasing monthly (12 releases a year) to releasing quarterly (4 releases a year).
The next release should have...
🌇 Upcoming module removals & migration guide🌇
Posted by Zhe Song on June 1, 2022
Twitter processes billions of events in real time every day using a variety of technologies including Hadoop, Kafka, and of course Finagle.
In 2018, we open sourced Finatra Kafka Streams , which we had already been using in production at Twitter...
April 2022 Release Notes - Version 22.4.0
Posted by Helen Woldesenbet on April 20, 2022
Spring is finally here 😎. Enjoy the lovely weather with our April release 🎉.
Bug Fixes
- finagle-integration: we discovered that we had a dead code in MuxClientSession. Let’s remove Timer as a parameter in MuxClientSession since it’s a... Read more...
March 2022 Release Notes - Version 22.3.0
Posted by Yufan Gong on March 29, 2022
March is here ☀️, and Spring isn’t far behind 🌱. Enjoy this wonderful time of year with our March release 🥂.
Util
Deprecations
- util-stats: Deprecated methods on MetricBuilder for directly instantiating metrics so that we can eventually remove... Read more...
February 2022 Release Notes - Version 22.2.0
Posted by Moses Nakamura on March 4, 2022
One of the joys of winter is drinking a mug of hot cocoa, curling up in a nook, and warming yourself by the heat of your computer compiling Scala code ☕🖥️🔥
We have a new release, and no houses were burned down in electrical fires while getting it...
2021 Fall/Winter Update 🍂❄️
Posted by Joy Bestourous on February 3, 2022
Happy New Year, folks! 🥳 What better way to honor the year of 2022 🎇 than with some highlights from the second half of 2021. Welcome to the CSL Half-ly Review, a summary of all great CSL things from the second half of 2021🕺🏼.
Finagle-Postgres
Big...
January 2022 Release Notes - Version 22.1.0
Posted by Kyle Bahr on January 18, 2022
Happy New Year! Ease yourself into the new year with our January release.
Util
Breaking API Changes
- util-jackson: The error message when failing to deserialize a character now correctly prints the non-character string. 4ddeaf89
Runtime Behavior...
December 2021 Release Notes - Version 21.12.0
Posted by Attila Szegedi on December 17, 2021
The year-end holiday season is upon us, so Happy New Year 🎩 🥂 and enjoy our December release! 🥳
Util
Breaking API Changes
- util-core: Activity.collect* and Var.collect* are now implemented in terms of known collection type scala.collection.Seq... Read more...
November 2021 Release Notes - Version 21.11.0
Posted by Dorothy Ordogh on November 24, 2021
The winter ❄️ holidays are coming, so here is an early gift 🎁 from us to you: the November release ☃️
Util
Breaking API Changes
- util-security: Use snakeyaml to parse yaml instead of a buggy custom yaml parser. This means that thrown IOExceptions... Read more...
October 2021 Release Notes - Version 21.10.0
Posted by Joy Bestourous on November 1, 2021
Didn’t get enough of Halloween this season? Here’s an extra treat: the October release 🎃🍬🍫
Util
New Features
- util-core: Add convenience methods to convert to java.time.ZonedDateTime and java.time.OffsetDateTime. toInstant, toZonedDateTime, and... Read more...
September 2021 Release Notes - Version 21.9.0
Posted by Bryce Anderson on September 30, 2021
September release, hot off the press:
Util
New Features
- util-jvm: Experimentally crossbuilds with Scala 3. bfdde071
- util-stats: Counter, Gauge, and Stat can be instrumented with descriptions. 4e68dd09
- util-cache: Experimentally crossbuilds... Read more...
August 2021 Release Notes - Version 21.8.0
Posted by Hamdi Allam on August 13, 2021
August release, hot off the press:
Util
New Features
- util-stats: add getAllExpressionsWithLabel utility to InMemoryStatsReceiver. 29602592
- util-app: Experimentally crossbuilds with Scala 3. 94f1fa37
- util-app-lifecycle: Experimentally crossbuilds... Read more...
Summer Update 2021 🐬
Posted by Jing Yan on August 3, 2021
Shall I compare thee to a summer’s day? With blooms 🌸 and breezes 🍃, comes our Q2 update!
Tech Debts Grooming
Every quarter, we spend a sprint to team up and kill tech debt ⚔️! This quarter, we set our minds on migrations, deprecations, and user...
June 2021 Release Notes - Version 21.6.0
Posted by Ruben Oanta on June 22, 2021
June release, hot off the press:
Util
New Features
- util-core: Add ClasspathResource, a utility for loading classpath resources as an optional InputStream. c9da7c43
- util-jackson: Add com.twitter.util.jackson.YAML for YAML serde operations with... Read more...
☀️ May 2021 Release Notes - Version 21.5.0
Posted by Christopher Coco on May 28, 2021
As we head into the summer months and longer days, we’ve got a new release of the Twitter CSL libraries.
NOTE
We’ve introduced a new case class validation library (util/util-validator) based on the Jakarta Bean Validation specification. This library...
Spring Update 2021 🚲
Posted by Hamdi Allam on May 6, 2021
Hey Finaglers,
Spring has sprung and the time has come ⏰ to update you on all of the exciting changes we’ve been making. Here’s our quarterly review for Q1 2021, highlighting our work in January, February, and March!
Without further ado, here’s our...
April 2021 Release Notes - Version 21.4.0
Posted by Vladimir Kostyukov on April 29, 2021
Fresh off the press, April 2021 release of Twitter CSL libraries. Enjoy!
Finagle
New Features
- finagle-core: Introduce a new ResponseClassifier (‘IgnoreIRTEs’) that treats com.twitter.finagle.IndividualRequestTimeoutExceptions as ResponseClass... Read more...
CSL Quarterly Review, Winter/Spring 2021
Posted by Bonnie Eisenman on March 31, 2021
Daffodils are blooming, the snow is melting, spring is in the air…and it’s time for another CSL update. The CSL team has been busy since our last quarterly / semiannual / epochly bulletin!
Without further ado, here’s our Q4 2020 / Q1 2021 recap:
...Read more...
🌷 March 2021 Release Notes - Version 21.3.0
Posted by Ian Bennett on March 30, 2021
As the 🐻 animals 🐿️ awaken from hibernation, we too have awoken the 🐆 beast 🐅 with this release. Please enjoy!
NOTE
As we noted in the 21.2.0 release, we cross-build for Scala 2.12 and Scala 2.13 for all of our projects and we have dropped support...
☃️ February 2021 Release Notes - Version 21.2.0
Posted by Yufan Gong on February 10, 2021
Depends on which part of this planet you are in, you may grab a hot drink or bask in the sunshine. Here is our short and sweet February release.
NOTE
All of our libraries are cross-building with Scala 2.13 in this release! Starting from the March...
❄️ January 2021 Release Notes - Version 21.1.0
Posted by Christopher Coco on January 19, 2021
A new year, a new release! 🎆
Scrooge
- scrooge: Scrooge uses better size estimate for Map/Set containers in read() to improve performance in Java. b1ebce81
Finagle
New Features
- finagle-core: Add clnt/_rejected annotation to filters... Read more...
Summer and Fall Update 2020 🚲
Posted by Ryan O'Niell on December 14, 2020
Greetings Finaglers! 👨💻👩💻. Usually, four times a year 🗓 we send out a comprehensive retrospective of all of the exciting changes we’ve been making. However, 2020 has been anything but usual. So here’s the semiannual (Or is it biannual 🤔? Definitely...
December 2020 Release Notes - Version 20.12.0
Posted by Moses Nakamura on December 11, 2020
You get two for the price of one this time! We skipped the 20.11.0 release, and we’re headed straight to 20.12.0. This is the last minor bump of 2020, since there aren’t any other months this year (we hope!). Goodbye to the optometrically significant...
October 2020 Release Notes - Version 20.10.0 🎃
Posted by Jing Yan on October 27, 2020
Trick or… our October release is as sweet as candies 👻
Finagle
Breaking API Changes
- finagle-thrift: Change the partition locator function getLogicalPartitionId in PartitioningStrategy from Int => Int to Int => Seq[Int], which supports many to... Read more...
🍁 September 2020 Release Notes - Version 20.9.0
Posted by Hamdi Allam on September 25, 2020
With the start of Fall 🍁, it is only right for a new release of our libraries! Here’s the latest of Finagle, Finatra, Scrooge, TwitterServer, and Util!
Finagle
New Features
- finagle-core: Add RelativeName field to Metric Metadata and populate... Read more...
August 2020 Release Notes - Version 20.8.1
Posted by Ruben Oanta on August 27, 2020
Release 20.8.0 had a corrupt artifact uploaded to maven central. This patch release addresses that and includes some other goodies:
Finagle
New Features
- finagle-thriftmux: Add MethodBuilder specific APIs for ThriftMux partition aware client.... Read more...
August 2020 Release Notes - Version 20.8.0
Posted by Bonnie Eisenman on August 12, 2020
Another month, another release. 😺 Here’s the August release of Finagle, Finatra, Scrooge, Twitter Server, and Util.
Finagle
Runtime Behavior Changes
- finagle-netty4-http: Post, Put, Patch non-streaming outbound requests with empty bodies will... Read more...
July 2020 Release Notes - Version 20.7.0
Posted by Ruben Oanta on July 22, 2020
Hi folks! Our July release is here – enjoy!
Finagle
Breaking API Changes
- finagle-core: Correct the spelling of Tracing.recordClientSendFrargmet() to Tracing.recordClientSendFragment() 30726c01
- finagle-redis: Use StrictKeyCommand for XDEL d174f9d6 Read more...
June 2020 Release Notes - Version 20.6.0
Posted by Ryan O'Neill on June 24, 2020
Summer is happening 🏖️, and with that comes the June release of Finagle, Finatra, Scrooge, Twitter Server, and Util 😎.
Finagle
Runtime Behavior Changes
- finagle-core: FailFastFactory is now disabled at runtime when a client’s destination has only... Read more...
Spring Update 2020
Posted by Vladimir Kostyukov on June 4, 2020
Salute, Finaglers 🙇♂️! Four times a year we send out a comprehensive overview of all these exciting changes we’ve been working behind the curtains 🎭. As you probably guessed already, this is one of those times ✨! It’s a Q1 2020 quarterly review episode...
May 2020 Release Notes - Version 20.5.0
Posted by Vladimir Kostyukov on May 29, 2020
Finagle
Runtime Behavior Changes
- finagle: Bump jackson version to 2.11.0. 696bb515
Finatra
Added
- inject-mdc: Move MDC integration from inject/inject-slf4j to inject/inject-mdc.daf8716d
- finatra-http|finatra-thrift: Update TraceIdMDCFilter... Read more...
April 2020 Patch Release Notes - Version 20.4.1
Posted by Yufan Gong on April 26, 2020
April Release encountered some issues running on JDK 8, here’s a patch release that should address it.
Finagle
New Features
- finagle-redis: Add
ConnectionInitCommandstack to set database and password.9fe05301 - finagle-mysql: Add
ConnectionInitSqlRead more...
April 2020 Release Notes - Version 20.4.0
Posted by Ian Bennett on April 6, 2020
In these unprecedented times, we wish for nothing but your health and safety. April showers 🌦️ bring May flowers 🌻, so #StayAtHome and fill some time reading about some of the changes in our latest release.
Finagle
New Features
- finagle-thrift/thriftmux... Read more...
March 2020 Release Notes - Version 20.3.0
Posted by Yufan Gong on March 9, 2020
Days are getting longer🌻, March has arrived. Here’s what we have done in this release.
Finagle
New Features
- finagle-opencensus-tracing: Add support for providing a custom TextFormat for header propagation. a02d377a
Runtime Behavior Changes
🍂 Fall/Winter ❄️ 2019 Quarterly Review
Posted by Ian Bennett on February 27, 2020
Hi Finaglers,
It is ⌛time to take a 👀 look back on the 🌇 twilight of the year 2019, when the seasons shift from 🍂 Fall to Winter ❄️. Across our projects, we have introduced support for JDK 11 and added support for Scala 2.13 across a large portion...
January 2020 Release Notes - Version 20.01.0
Posted by Moses Nakamura on February 4, 2020
Welcome to the optometrically significant year–the year of perfect hindsight 🤓
Finagle
New Features
- finagle-memcached: Upgrade to Bijection 0.9.7. de0ec2c6
- finagle-opencensus-tracing: Enables cross-build for 2.13.0. fee83b10
- finagle-thriftmux... Read more...
December 2019 Release Notes - Version 19.12.0
Posted by Bryce Anderson on December 13, 2019
The seasons changed and depending on which hemisphere you’re in it’s time to enjoy either the snow ❄️ or the sun ☀️!
Finagle
New Features
- finagle-core, finagle-exp: Add annotations to
DarkTrafficFilterto identify which span is dark, as well... Read more...
November 2019 Release Notes - Version 19.11.0 ❄️
Posted by Dave Rusek on November 5, 2019
Now that Halloween has come and gone, it’s time to get ready for cold weather fun! ❄️
Finagle
New Features
- finagle-base-http: The Uri class now provides access publicly to its path, which is the request uri without the query parameters.f40fe447 Read more...
Fall Update 🍂
Posted by Yufan Gong on October 23, 2019
Hi Finaglers,
Fall has arrived in the Northern Hemisphere 🌍🌎🌏, and in San Francisco, we are enjoying the light breeze🎐and warm sunshine☀️. Here are some quick highlights of our work from July, August, and September. If you want to keep an 👁 on our...
October 2019 Release Notes - Version 19.10.0 🌕
Posted by Christopher Coco on October 9, 2019
In preparation for Halloween 👻 at the end of the month, we are very happy to announce our October 🕷️ release: no tricks 🎃 – all treats 🍬.
Finagle
New Features
- finagle-partition: Enables cross-build for 2.13.0. 89f06885
- finagle-exception: Enables... Read more...
September 2019 Release Notes - Version 19.9.0 🍁
Posted by Jing Yan on September 10, 2019
Embrace a beautiful fall with our freshly baked September release! 🍪
Highlights
- For users of Finagle HTTP/2 servers, we recommend upgrading to this latest release, as the upgrade to Netty 4.1.39 release addresses multiple HTTP/2 CVE’s.
- Shout-out... Read more...
Util August 2019 Point Release Notes - Version 19.8.1
Posted by Yufan Gong on August 15, 2019
A point release to publish Util on scala 2.13.
New Features
- util: Enables cross-build for 2.13.0. d5d20cc3
Java Compatibility
- util-stats: In
c.t.finagle.stats.AbstractStatsReceiver, thecounter,statandaddGaugebecome final, overridecounterImplRead more...
August 2019 Release Notes - Version 19.8.0
Posted by Kevin Oliver on August 7, 2019
Hot off the press — the August releases. Here’s what’s what.
Finagle
Breaking API Changes
- finagle-core: The contents of the c.t.f.dispatch.GenSerialClientDispatcher object have been moved to the new c.t.f.dispatch.ClientDispatcher object. The... Read more...
Summer Update ☀️
Posted by Christopher Coco on July 26, 2019
Hello Finaglers,
Summer ⛱️ is now in full-effect around the world 🌍 but we interrupt your travel 🚙and ice cream 🍦 to quickly highlight the 🆒 things released over the spring and early summer 🐚 months of April, May, and June. Just a note, if you’d like...
July 2019 Release Notes - Version 19.7.0
Posted by Dorothy Ordogh on July 18, 2019
Finagle
New Features
- finagle-http: Measure streaming (message.isChunked) chunk payload size with two new histograms: stream/request/chunk_payload_bytes and stream/response/chunk_payload_bytes, they are published with a debug verbosity level. These... Read more...
June 2019 Release Notes - Version 19.6.0
Posted by Ruben Oanta on June 19, 2019
Hey Finaglers,
We’ve cut a June release for our libraries! Here are some highlights:
util-core: Use Local at callback creation for a Future’s interrupt handler rather than the raiser’s locals so that it is consistent with other callbacks. We believe...
Spring Update 🚲
Posted by Moses Nakamura on May 29, 2019
Hey Finaglers,
Spring has sprung, and we’re beginning to ease into summer. 🚲season has begun in New York City! We’ve been busy little bees, and this review comes a little bit late, so it won’t include all of the work we’ve done since the last review...
May 2019 Release Notes - Version 19.5.1
Posted by Ryan O'Neill on May 21, 2019
With it being late May, the beginning of summer is right around the corner. Along with that comes a new release of our libraries. Unfortunately, there was anissuewith our first attempt (19.5.0) so we created a point release (19.5.1), which fixes...
April 2019 Release Notes - Version 19.4.0
Posted by Vladimir Kostyukov on April 19, 2019
Highlights
- After several years of continuous effort decoupling Finagle from Netty 3, we’ve finally got to the point the dependency can be dropped. As of this release, there is no Netty 3 artifacts on the classpath.
- Finagle HTTP now transmits trailing... Read more...
March 2019 Release Notes - Version 19.3.0 🦁
Posted by Ian Bennett on March 14, 2019
Spring has almost sprung, so take a look at all that we have done!
Finagle
New Features
- finagle-core: Added tracing annotations to backup requests. 5201f623
- Timestamped annotation “Client Backup Request Issued”
- Timestamped annotation “Client... Read more...
February 2019 Release Notes - Version 19.2.0 ☔️
Posted by Yufan Gong on February 20, 2019
It is the rainy season in San Francisco, grab a cup of hot tea and take a look at our new February release!
Finagle
New Features
- finagle-core: Added gauge
is_marked_deadas an indicator of whether the host is marked as dead(1) or not(0) inFailFastFactoryRead more...
Winter Update ❄️
Posted by Dave Rusek on January 18, 2019
Winter is in full swing, a new year is upon us, and the coyotesare still doing their thing, and so are all of us here at Twitter. As part of your new year resolutions please make it a point to check out thelatestreleases of our open source offerings...
January 2019 Release Notes - Version 19.1.0 🎉
Posted by Ryan O'Neill on January 14, 2019
Happy New Year folks! Hopefully new years resolutions are still on pace. In the meantime, let’s kick off 2019 with a fresh new release of libraries.
Finagle
New Features
- finagle-core:
c.t.f.s.StackBasedServerhas been changed to extend thec.t...Read more...
December 2018 Release Notes - Version 18.12.0 🧤
Posted by Moses Nakamura on December 18, 2018
It’s hot chocolate season in the big apple. That means mittens, ice-skating, and curling up by the radiator. Grab your puffer, it’s the most beautiful time of the year.
Finagle
New Features
- finagle-redis: Add support for the new stream API released... Read more...
November 2018 Release Notes - Version 18.11.0 ❄️
Posted by Dave Rusek on November 13, 2018
Halloween has come and gone and it’s already snowing here in the Rockies. Time to cuddle up with a warm compiler and check out the new edition of Twitter’s open source libraries!
Finagle
New Features
- finagle-base-http: Add
Message.httpDateFormat...Read more...
October 2018 Release Notes — Version 18.10.0
Posted by Neuman Vong on October 24, 2018
Here we are in the month of October, just a few weeks until creatures of fantasy roam the streets together with people dressed up as creatures of fantasy 👹.
Speaking of the fantastic, we have new releases!
Finagle 18.10.0,Finatra 18.10.0,Scrooge...
Fall Update 🍂
Posted by Neuman Vong on October 18, 2018
Fall is here! If you live in Boulder, you might take a 🚶and watch coyotes hunt prairie dogs. The new season brings about a change of clothes, but what about a change of code? Upgrade to the latest Finagle version and enjoy the new features, APIs, and...
TravisCI Migration for the Finagle Org 🔧
Posted by Christopher Coco on October 3, 2018
TravisCI announced that it is moving open source projects from travis-ci.org to travis-ci.com which will use Github Apps for a tigther integration with Github.
We plan on working with TravisCI to migrate the entirety of the Finagle Org (github.com...
⛱️ September 2018 Point Release Notes 🐚 — Version 18.9.1
Posted by Ryan O'Neill on September 27, 2018
September is beach season here in the Bay Area, and it looks like our release earlier this month got caught in a wash cycle. So, we’ve made a point release.
See below for details on the util-slf4j-api dependency fix for the reason why we decided to...
⛱️ September 2018 Release Notes 🐚 — Version 18.9.0
Posted by Jordan Parker on September 18, 2018
September is beach season here in the Bay Area! Time to finally get out to the beach and cut fresh new versions of our libraries.
Finagle 18.9.0,Finatra 18.9.0,Scrooge 18.9.0,TwitterServer 18.9.0, and Util 18.9.0.
Finagle
New Features
- finagle... Read more...
🌫 August 2018 Release Notes — Version 18.8.0
Posted by Kevin Oliver on August 7, 2018
Fogust is upon us and brings the August releases.
Finagle 18.8.0,Finatra 18.8.0,Scrooge 18.8.0,TwitterServer 18.8.0, and Util 18.8.0.
Finagle
New Features
- finagle-core: Introducing the new
c.t.f.tracing.TracingAPI for more efficient tracing... Read more...
🎇 Summertime Update 🎆
Posted by Jordan Parker on July 19, 2018
Believe it or not, summer is in full swing and it’s once again time to take stock of where we’ve been and where we’re headed. For a full list of changes over the past quarter, check out the older posts on this blog.
Operability
We’ve continued to...
☀️ July 2018 Release Notes - Version 18.7.0
Posted by Daniel Schobel on July 11, 2018
Hot off the presses, the July releases are here!
Finagle 18.7.0,Finatra 18.7.0,Scrooge 18.7.0,TwitterServer 18.7.0, and Util 18.7.0.
Finagle
Runtime Behavior Changes:
- finagle-core: Server-side rejections from
c.t.f.filter.RequestSempahoreFilter...Read more...
☀️ June 2018 Release Notes - Version 18.6.0
Posted by Christopher Coco on June 15, 2018
Just in time for the official start to summer 🏝 our June releases are here!
Finagle 18.6.0,Finatra 18.6.0,Scrooge 18.6.0,TwitterServer 18.6.0, and Util 18.6.0.
Finagle
Runtime Behavior Changes:
- finagle-core: By default, the deterministic aperture... Read more...
May 2018 Release Notes - Version 18.5.0
Posted by Vladimir Kostyukov on May 8, 2018
Good news, everyone! Finagle & Finatra May releases are here!
As usual, all the corresponding Github projects for Finagle, Finatra, Util, Twitter Server, and Scrooge have their release pages updated:
🦋 Spring Review
Posted by Kevin Oliver on April 18, 2018
It’s time to take a look back at what went down with Finagle, Finatra & friends over the past three months, and get an idea of what’s to come. As projects don’t tend to care about quarterly boundaries, some of our work is a work in progress.
Efficiency
April 2018 Release Notes - Version 18.4.0
Posted by Bryce Anderson on April 11, 2018
Our April releases have arrived!
Finagle 18.4.0, Finatra 18.4.0, Scrooge 18.4.0, TwitterServer 18.4.0, and Util 18.4.0.
Finagle
New Features
- finagle-core:
c.t.f.filter.NackAdmissionFiltercan now be disabled via awith-method.$Protocol.client...Read more...
🌷 March 2018 Release Notes - Version 18.3.0
Posted by Stefan Lance on March 6, 2018
Our March releases have arrived!
Finagle 18.3.0, Finatra 18.3.0, Scrooge 18.3.0, TwitterServer 18.3.0, and Util 18.3.0.
Finagle
New Features
- finagle-core:
c.t.f.client.BackupRequestFilter.filterServicefor wrapping raw services in ac.t.f.client...Read more...
🏮 February 2018 Release Notes - Version 18.2.0
Posted by Yufan Gong on February 5, 2018
Happy Lunar New Year! The February release is here.
Finagle 18.2.0, Finatra 18.2.0, Scrooge 18.2.0, TwitterServer 18.2.0, and Util 18.2.0.
Finagle
New Features
- finagle-core: Add orElse to allow composition of
FailureAccrualPolicys.8c1e718e - finagle... Read more...
❄️ ❄️ ❄️ Winter Update ❄️ ❄️ ❄️
Posted by Daniel Schobel on January 25, 2018
We’ve been running scalac around the clock to fend off the cold and bring you another quarter’s worth of features and improvements to Finagle and Friends: Finagle,Finatra,Scrooge,TwitterServer, Util
Efficiency
Future received a more efficient...
📆 January 2018 Release Notes - Version 18.1.0
Posted by Christopher Coco on January 17, 2018
Time to turn the calendar to a new year and a new release — our January release is here!
Finagle 18.1.0, Finatra 18.1.0, Scrooge 18.1.0, TwitterServer 18.1.0, and Util 18.1.0.
Finagle
New Features:
- finagle-core:
FailureDetectorhas a new method... Read more...
Guava-less
Posted by Kevin Oliver on December 12, 2017
We have been minimizing our dependency on Guava, which is big and often causes version conflicts for our users. This work will be released as part of January’s 18.1 release, though there are 2 places it remains:
util-cache-guavahas aCacheBuilderRead more...
⛄ December 2017 Release Notes - Version 17.12.0
Posted by Isabel Martin on December 12, 2017
The December release has arrived!
Finagle 17.12.0, Finatra 17.12.0, Scrooge 17.12.0, TwitterServer 17.12.0, and Util 17.12.0.
Finagle
New Features:
- finagle-core: Expose Tunables for MethodBuilder timeout configuration. Update the http.MethodBuilder... Read more...
🍠 November 2017 Release Notes - Version 17.11.0
Posted by Moses Nakamura on November 17, 2017
It’s November, and you know what that means! Library releases!!! We’re now publishing with sbt 1.0.x, and we now also publish sbt-scrooge-plugin for sbt 1.0.x. We are also continuing to publish sbt-scrooge-plugin for sbt 0.13.x.
🛠️ Introducing Twitter Futures Capture Points
Posted by Stefan Lance on November 2, 2017
If you’ve ever tried to debug asynchronous code written with Twitter Futures, you may have found that the stack trace isn’t always helpful. The stack trace at a given point in the program includes the active stack frames and thus shows the chain of...
🎃 October 2017 Release Notes - Version 17.10.0
Posted by Jordan Parker on October 27, 2017
The October releases have arrived! For this release and hereafter, Finagle, Finatra, Scrooge, Util, and TwitterServer will be versioned as year.year.year.month.$patch, as opposed to major.major.major.minor.$patch. This means that all project versions will be in sync...
🎂 Finagle’s 7th Birthday
Posted by Kevin Oliver on October 18, 2017
Seven years ago a simple commit got Finagle’s open source repository started. Finagle began as a means of dealing with the complexity and fragility of distributed systems issues here at Twitter. While distributed systems remain complex and it is not...
🍂 Fall-ing for Finagle
Posted by Christopher Coco on October 12, 2017
As we move headlong into Autumn we thought this might be a good time to take a quick look back at some of the work from the previous quarter inFinagle,Finatra,Scrooge,TwitterServer, andUtil and preview what we’re working on this quarter and beyond...
September 2017 Release Notes
Posted by Kevin Oliver on September 7, 2017
The September releases are here.
Finagle 7.1.0, Finatra 2.13.0, Scrooge 4.20.0, TwitterServer 1.32.0, and Util 7.1.0.
Finagle
New Features:
- finagle-core: If a
c.t.u.tunable.Tunablerequest or total timeout has been configured on a client which... Read more...
Finagle 7 Release Notes
Posted by Daniel Schobel on August 17, 2017
The August release is here and brings a major version bump for both Finagle and Util to v7! 🍰🍰🍰
Over the last few years Finagle has had an extensive internal overhaul to support Netty 4 along with a rewrite of all its protocols so now as the last...
🏖️ Summertime Review
Posted by Kevin Oliver on July 12, 2017
It’s time to take a look back at what went down inFinagle,Finatra and related libraries over the past few months and get an idea of what’s to come. This covers theApril andJune releases (apologies for missing May) as well as the upcoming 7.0.0...
Integration of CLA Assistant
Posted by Eitan Adler on June 9, 2017
We have integrated CLA Assistant with the Finagle Github repository.
Due to lack of discoverability, not everyone has been consistent about signing Twitter’s existing CLA. We believe that this will be less of a burden than manually checking CLAs against...
🌇 Upcoming module removals 🌇
Posted by Kevin Oliver on April 6, 2017
As mentioned in our spring planning notes, we are sunsetting a number of modules that have been unsupported or exist in a zombie-like state.
- finagle-ostrich4
- finagle-kestrel
- finagle-stream
- finagle-native
- finagle-mdns
- util-eval
- ostrich
The upcoming...
🌻 Spring Planning 🌻
Posted by Kevin Oliver on March 20, 2017
The team working on Finagle, Finatra, and related libraries met last week and did our planning for the next three months. These are high-level goals and as such, have varying degrees of confidence and certainty.
In the spirit of Spring cleaning:
...Read more...
Finagle 6.43 Release Notes
Posted by Kevin Oliver on March 14, 2017
The March releases are hot off the printing press for Finagle 6.43.0, Finatra 2.9.0, Scrooge 4.15.0, TwitterServer 1.28.0, and Util 6.42.0.
Here’s a few of the highlights:
Finatra
See accompanying blog post for details.
Finagle
- finagle-http now... Read more...
Netty 4 support in Finagle
Posted by Vladimir Kostyukov on February 6, 2017
It’s been quite a while since the Netty 4 migration in Finagle was initially announced. We’ve travelled a long way and are happy to announce that there is now (as ofFinagle 6.42) support for Netty 4 transports in most of the protocols: Thrift, ThriftMux...
Finagle 6.41 Release Notes
Posted by Jillian Crossley on December 23, 2016
As the year ends, we’ve got an exciting new release for you! Here’s a quick rundown of what we’ve been up to.
Scala 2.12 Support is Here
Finagle, Util, Ostrich, Scrooge, and Twitter-Server are all now cross-compiled for Scala 2.11 and 2.12(!)
Dynamic...
Farewell, maven.twttr.com!
Posted by Bryce Anderson on November 29, 2016
Historically Finagle has depended on a forked org.apache.thrift libthrift version 0.5.x, which happens to not be published to the Central Repository. We have published the artifact to maven.twttr.com, but this requires users to add the maven.twttr...
Finagle Block Party
Posted by Kevin Oliver on September 1, 2016
💔 SPOILER ALERT: you do not want to go to this party 💔
Blocking Finagle’s event loop via calls toAwait.resultorAwait.readywill cause your application to experience unexpected slowness, a decrease in throughput, and potentially deadlocks. Find...
Finagle 6.36 Release Notes
Posted by Vladimir Kostyukov on July 8, 2016
This is Finagle’s first release only for Java 8 and Scala 2.11. Since the previous release, the team has been focusing on the Netty 4 migration as well as eliminating some technical debt.
Towards Netty 4
The team is firing on all cylinders towards...
Muxshark: A Wireshark plugin for the Mux protocol
Posted by Kevin Oliver on May 19, 2016
This Wireshark dissector provides basic decoding of allMux messages including:
- Frame length
- Message type
- Tag number
Don’t know about Wiresharkor Mux? Follow the links for introductions.
While this was released as part of Finagle 6.33.0 we...
Final Scala 2.10 and Java 7 releases
Posted by Kevin Oliver on April 20, 2016
The upcoming releases of our family of projects will be the final release for Scala 2.10 and Java 7. These should be:
- Finagle 6.35.0
- Finatra 2.1.6
- Util 6.34.0
- Scrooge 4.7.0
- TwitterServer 1.20.0
- Ostrich 9.18.0
Java 7 reached its end-of-lifein April...
Finagle 6.34 Release Notes
Posted by Vladimir Kostyukov on March 11, 2016
This release we’ve been focusing on improving both overall stability of Finagle components and debugging features. We also reverted a patch that cased duplicate tag error that looks as follows.
com.twitter.finagle.mux.ServerError: Duplicate tag 6
Hello AsyncStream!
Posted by Moses Nakamura on February 15, 2016
tl;dr AsyncStream is replacing Spool.
Big shoutout to Neuman Vong, who designed and built AsyncStream soup to nuts ✧٩(•́⌄•́๑)
We know and love Spool, the Twitter util tool for asynchronous object streaming. The main advantages of asynchronous stream...
Making application errors matter
Posted by Kevin Oliver on February 9, 2016
Finagle’s new response classifiers improve client’s avoidance of faulty nodes thus increasing your success rate. To get this benefit, you must wire up the application’s rules into your clients and how to do so is explained below.
First, a pop quiz...
Retry Budgets
Posted by Kevin Oliver on February 8, 2016
Ever had your service attacked by a retry storm from your clients? Or your clients’ clients? Or has your service ever been the attacker in one of those situations?
Thought so.
To help you avoid this, in release 6.31 we’ve introduced the notion of...
Finagle 6.33 Release Notes
Posted by Vladimir Kostyukov on February 5, 2016
In this milestone, we’ve been focusing on two major directions:
- Improving the user experience by providing friendly APIs and updating docs
- Continuing to improve Finagle’s resiliency
Discoverable Params
There is a new user-friendly API for configuring...
Services-per-endpoint in Scrooge
Posted by Nik Shkrob on September 10, 2015
We’ve released Service-per-endpoint support for Scala Thrift clients generated by Scrooge. This change has been introduced in Scrooge 4.0.0.
This allows the use of Finagle filters with Thrift services to do retries, timeouts, etc. in a Finagle-idiomatic...
Lightning talks at FinagleCon
Posted by Travis Brown on July 29, 2015
FinagleCon is just over two weeks away, and we’re looking for a few attendees who are interested in giving lightning talks to kick off the afternoon. The talks will be capped at five minutes and can be on a wide range of Finagle-related topics: how you’re using Finagle, suggested changes, far-fetched experiments, integration with other libraries or tools, etc.Read more...
SSL now supported for maven.twttr.com
Posted by Travis Brown on July 16, 2015
Most of Twitter’s open source projects for the JVM are published to Maven Central, but for various reasons a few are still published tomaven.twttr.com, a Maven repository that is hosted by Twitter. While Finagle itself is in Maven Central, some of its subprojects and someFinagle-related libraries and tools require dependencies frommaven.twttr.com.
We’re actively working to eliminate the need for this separate repository, but we don’t have a definite timeline for moving everything to Maven Central, and so this week we have enabled secure access to the repository, which was previously only available over unsecured HTTP.Read more...
New FinagleCon venue
Posted by Travis Brown on July 15, 2015
We’re pleased to announce that this year’s FinagleCon will now be hosted at Twitter’s new One 10th Street Expansion in San Francisco. We believe that this location will be more convenient than the Kaiser Center in Oakland for many attendees, and we’re looking forward to showing off this brand new space.Read more...
Announcing FinagleCon 2015
Posted by Travis Brown on June 11, 2015
Yesterday we opened registration and the call for participation forFinagleCon, a new annual conference for the Finagle community. This year’s conference will be a Scala by the Bay event hostedat Twitter HQ in San Francisco, and will take place on Thursday, August 13, the day before Scala by the Bay begins.
The conference program will include keynotes by Twitter’sMarius Eriksen and SoundCloud’s Phil Calçado, talks by Finagle adopters and contributors, and workshops and tutorials on a range of Finagle-related topics (including Finatra and Finch).Read more...
Finagle services made simple with Serial
Posted by Travis Brown on February 6, 2015
Most internal services at Twitter speak the Thrift protocol, which provides many benefits—once you’ve defined your data types and service interfaces, for example, it’s possible to create bindings for a wide range of programming languages, and Twitter’s Scrooge in particular makes it easy to create high-performance Finagle servers and clients for your Thrift interfaces.
In some cases, though, it would be more convenient not to have to worry about things like interface description files, the build system plugins necessary to generate bindings from them, etc. In particular, being able to define Finagle services that take arbitrary types as inputs and outputs in a Scala REPL would make writing tutorials and quickstart projects much more straightforward, and would enable easier experimentation with other parts of the Finagle API.Read more...
Purely Functional REST APIs with Finch
Posted by Vladimir Kostyukov on December 10, 2014
At Konfettin we decided to build a REST API backend using a Finagle stack. While it’s possible to do that using pure Finagle abstractions, we ended up writing the Finch library to simplify things and get more suitable building blocks. And it worked well: we shipped the product and got the customers. This library has been running in production for about six months so far and it’s pretty stable and well-tested. This post gives an overview of Finch: explains its core design principles and use cases.Read more...
New and upcoming Finagle examples
Posted by Travis Brown on October 30, 2014
Part of my role as an open source advocate for Scala projects at Twitter involves talking to developers outside of Twitter about how we can makeour open source projectsmore widely useful and accessible, and one of the most common requests for Finagle is for more introductory tutorials and examples.
One of the steps we’re taking in this direction is a major overhaul offinagle-example, which we’ll be moving out of the main Finagle repository and into its own project under the Finagle organizationon GitHub. At the same time we’ll be filling out the top-level introduction to the examples (which is currently a little bare), adding more detailed API documentation, providing better example coverage for Finagle subprojects, and creating a larger set ofJava examplesto show off our new work on improving Java compatibility.Read more...
Upgrading Finagle to Netty 4
Posted by Sonja Keserovic on October 20, 2014
Netty 4 was released more than a year ago and Netty 5 Alpha is already available. Finagle is still using Netty 3, which is getting outdated quickly and is preventing us from taking advantage of various performance improvements in newer versions. It’s also creating additional work for the Finagle team at Twitter as we need to port important security and performance fixes back to Netty 3.Read more...
Finagle releases
Posted by Kevin Oliver on October 7, 2014
For Finagle and its associated libraries, known internally at Twitter as the Core Systems Libraries, we plan to change the way we push code to GitHub and publish releases. The other libraries included are util,twitter-server,ostrich, andscrooge.Read more...
Release notes
Posted by Moses Nakamura on August 12, 2014
We’re experimenting with a new form of release notes, so that it’s easier to get context on what’s going on in Finagle-land, especially with an eye to letting consumers see what the latest and greatest features are, and providing a little more context around what’s going on.Read more...
About Finagle
Finagle is an extensible RPC system for the JVM, used to construct high-concurrency servers. Finagle implements uniform client and server APIs for several protocols, and is designed for high performance and concurrency. Most of Finagle's code is protocol agnostic, simplifying the implementation of new protocols.
For more information, please see the project website or source code repository, or get in touch through our mailing list,Twitter account, or the #finagle IRC channel on Freenode.