Fall Update 🍂
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 bug fixes! Here’s a breakdown of what’s new.
- We continue evolving Reader/Writer APIs to make them more friendly for
application-level development. This part is nearly done and our next step is
to adopt said APIs in both Finagle and Finatra, providing their users with a
seamless developer experience. (1)
- Tunables are now observable via Vars. (1)
- Lots of examples of how to use Future. (1, 2)
MANY performance improvements. We no longer consider h2c
experimental! This will be on by default in the next few months.
- Thrift and ThriftMux servers now feature Response Classification to better
indicate their success rate.
- New and improved Tracing. This work dramatically reduces the number of
context lookups. (1, 2, 3, 4, 5)
- Finatra security update. Jackson Upgraded 2.8.4 => 2.9.6, plugs
Future.transform creates a new
Promise every time it is called, but
sometimes we can operate directly on a
Try, whose operations are much
simpler and less costly. Since
transform is fundamental to many other
future operations, the result is faster futures. (1)
- Avoid unnecessary deep copies in Local.Context. (1)
- Push is now the default implementation for ThriftMux. We removed the previous
implementation because we saw that Push improved throughput, CPU usage, and
allocations. (1, 2, 3, 4)
Netty3 cookies are dead, long live Netty4 cookies?
We are almost there. The last threshold to cross is decoupling cookie
- Custom AsyncAppender with StatsReceiver integration
- Better/easier configuration for https servers. (1
Travis-CI MANY stability improvements.
Thanks for following along. If you’d like to know more about any one of these
updates, or if you have a question about them, join us on the
Finatra mailing lists
or hop on Gitter.
Neuman and the Core Systems Libraries team