47 Degrees joins forces with Xebia read more

Functional Roundup for August 19, 2016

Functional Roundup for August 19, 2016

Play 2.5.5

Play Framework 2.5.5 released

Play 2.5.5. is here! The release features a score of changes. Here are just a few of the adjustments in store for you:

  • 6439 - Add line breaks in examples to reduce horizontal scrolling.
  • 6453 - Add tests of ServerResultUtils#validateResult to make sure an empty body is sent for 1xx, 204, and 304 responses
  • 6381 - Avoid OutOfMemoryError when writing JSON BigDecimals.
  • 6389 - Removed Scalaz repository in play-scala template.
  • 6366 - Append fragment in Results.Redirect(call, status).

This release also upgrades Play to Akka 2.4.8, updates dependencies for 2.5.x, and fixes a generous amount of bugs.

You can view the full changelog here: Play 2.5.5 “Streamy”.

Shapeless 2.3.2

Shapeless 2.3.2 released

The latest version of Shapeless graced us with its presence on Thursday, August 18th.

Twelve PRs were merged in 2.3.2 and major highlights according to Miles Sabin include:

  • 585 - Add tuple Align ops and syntax based on HList Align.
  • 603 - Added FromProductArgs and FromRecordArgs traits supporting mapping HList/record arguments to positional/named argument lists, dually to ProductArgs and RecordArgs.
  • 595 - Add CompileTime macro to measure compilation times.
  • 621 - Refined typing of LiftAll result type
  • 592 - ZipConst now has an instance for HNil.

Three issues were also closed:

  • 411 - Added support for Scoverage.
  • 604 - Typeable instances for reference singletons are now serializable.
  • 618 - Optic builders are now serializable.

The final release was thanks to the work of twelve contributors and is binary and source compatible with 2.3.0 and 2.3.1.

You can view the full announcement here: shapeless-2.3.2 released!.

SIP August Meeting

August SIP meeting results

The August meeting of the Scala Improvement Process (SIP) Committee focused on four proposals.

The following SIPs received more feedback and will continue to be discussed for possible inclusion in Scala-lang once these comments are addressed:

The other two proposals were unanimously rejected, they are:

  • SIP-12 - Uncluttering Scala’s syntax for control structures (originally proposed in 2011) was reviewed by Seth Tisue whose comments can be found here.
  • SIP-16 - Self-cleaning macros (originally proposed in 2012) was reviewed by Eugene Burmako whose comments can be found here.

You can watch the meeting here:

See more developments and what’s in store for September in the August SIP Meeting Notes.

Akka 2.4.9

Akka 2.4.9 Released

The Akka team has announced that the final version of Akka 2.4.9 is now readily available. As mentioned in the Release Candidates, this version focuses heavily on Akka HTTP and Streams.

According to Johan Andrén highlights of the release include:

  • A 30-40% improvement of overall Akka HTTP throughput and transfer rate.
  • It appears that the performance is about 14% better than Spray.
  • The server is currently reaching a maximum of ~160.000 “ping/pong” requests per second (when measured using 100 concurrent connections) based on their EC2 infrastructure.

Also, a new Streaming API EntityStreamingSupport has made an appearance. The API simplifies working Akka Streams into and from HTTP requests and responses. You can read more about it in the Entity Streaming documentation.

The patch release included the work of 36 contributors from the community and closed a total of 80 tickets.

They’ve also announced plans to make a stable version of Akka HTTP and split it into its own repository in the future to ease up the evolution and maintenance.

You can view the full announcement here: Akka 2.4.9.

In addition, check out the following:

Suggested information to digest this weekend:

The functional programming community has no shortage of excellent conferences, talks, and articles. Here are just a few that were recently released that we recommend checking out if you missed them the first time:

Heiko Seeberger:

  • Reactive Apps with Akka and AngularJS
  • W-JAX 2015 (a little throwback)

Seeberger explains,

“Starting from the UI he uses first Akka HTTP and Server-sent events on a single node and executes the above in a flexible and fail-safe service, the Akka Distributed Data (CRDTs), Akka Cluster sharding and Akka Persistence uses.”

Watch the talk here:


Sam Newman:

  • Deploying and Scaling Microservices
  • GOTO Chicago

Sam Newman, author of “Building Microservices,” presents:

“The challenges of managing many, smaller deployable services mean that what we need in terms of deployment platforms are very different to what was needed before. But few areas of software technology have been experiencing as much innovation and churn as the deployment options available for microservice architectures. From application containers, to docker, to mesos and beyond, this talk will break apart the myriad challenges that can come from managing microservices at scale, and how to pick the right technologies for you.”

Watch the talk here:


Upcoming Events:

Scala World

  • September 10-14th
  • The Rheged Centre - Cumbria, UK

Typelevel Unconference & Lambda World

  • September 30th - October 1st
  • Palacio de Congresos - Cádiz, Spain

Reactive Summit

  • October 4-5th
  • Hyatt Regency Autin - Austin, TX

Have a news tip for us? Tweet to us @47deg or send to us via email here.

Ensure the success of your project

47 Degrees can work with you to help manage the risks of technology evolution, develop a team of top-tier engaged developers, improve productivity, lower maintenance cost, increase hardware utilization, and improve product quality; all while using the best technologies.