Re: Cloud Foundry Java Client 2.0.0.RELEASE


Josh Long <starbuxman@...>
 

Congrats! This is a huge release! ^5 team on the amazing work!
On Mon, Aug 22, 2016 at 12:46 Daniel Jones <daniel.jones(a)engineerbetter.com>
wrote:

Congrats! It's awesome to have a decent CC API implementation that's
properly maintained.

Regards,
Daniel Jones - CTO
+44 (0)79 8000 9153
@DanielJonesEB <https://twitter.com/DanielJonesEB>
*EngineerBetter* Ltd <http://www.engineerbetter.com> - UK Cloud Foundry
Specialists

On Mon, Aug 22, 2016 at 5:41 PM, Ben Hale <bhale(a)pivotal.io> wrote:

I'm immensely pleased to announce Cloud Foundry Java Client
`2.0.0.RELEASE`! This release is the culmination of 54 weeks of work,
encompassing 10 milestones, two release candidates, and 2,344 commits[1].

Before the typical discussion about the release, I'd like to take a
moment to recognize everyone who contributed to the success of this effort:

* Steve Powell[2]
* Chris Frost[3]
* Benjamin Einaudi[4]
* Paul Harris[5]
* Glyn Normington[6]
* Lokesh Kumar N[7]
* Olivier Orand[8]
* Sebastien Bortolussi[9]
* Stephane Maldini[10]
* Ben Patterson[11]
* Mike Heath[12]
* Ramnivas Laddad[13]
* William Gautier[14]

It really makes me happy to see that more than half of the contributors
to the project are from outside of Pivotal. I see this as an indication
both that we're fulfilling a wide-spread need and that we've created an
environment that encourages external contribution. I encourage anyone else
interested in contributing to join this list over the coming months.

Next, I'd like to recognize the lead of Project Reactor[15] Stephane
Maldini, for his tireless efforts to help us deliver an incredible reactive
API. When we took the decision to head in this direction, Stephane stepped
up to teach the entire team the principles behind reactive programming.
This effort was non-trivial, entailing hundreds of hours on Screenhero[16]
often until after one in the morning for him. The last year has easily
been the greatest example of two projects evolving together, that I have
ever experienced. The amount of improvement Reactor and the Java Client
have driven in each other cannot be overestimated.

Finally I'd like to thank the teams that started building on the Java
Client, long before it was production ready. Projects like Spring Cloud
Data Flow[17] and Spring Cloud Spinnaker[18] have been invaluable tools for
driving usability and bug fixes.

And now onto the release!

* * *

This release was a complete re-write[19] of the Java Client with a focus
on:

* two cleanly delineated APIs; a `-client` API mapping to the REST calls
and an `-operations` API mapping to CLI
* implementing every single REST call exposed by all Cloud Foundry
components (more than 500 individual URIs across 4 components)
* an airtight separation between APIs and implementation; a Reactor-based
default is provided, and alternate implementations are possible
* a reactive API based on Project Reactor and interoperable with any
Reactive Streams-compatible[20] library

_For more detail on these goals, please see the 2.0.0.M1 Release
Notes[21]_

For detailed information on how to use the client, the README[22] is the
best place to start. Javadocs for the library can be found at
`cloudfoundry-client`[23], `cloudfoundry-client-reactor`[24],
`cloudfoundry-operations`[25], and `cloudfoundry-util`[26]. Since usage
requires a fair bit of knowledge about the workings of the Cloud Foundry
APIs themselves, check out the docs for the Cloud Controller V2[27]),
V3[28], Doppler[29], and the UAA[30].

While the Java Client implements a great many of the Cloud Foundry APIs
we didn't manage to complete them _all_. By our count we're about 80% the
way through and have delivered all of the commonly used endpoints. Over
the coming months we'll be continuing to deliver the missing
implementations until everything is complete. Beyond that, we're committed
to keeping the library up to date with Cloud Foundry's evolving API.

We welcome all feedback from the community and look forward to seeing you
open issues[31] and submit pull requests[32]. If you're looking for help
and discussion we're lurking in the Cloud Foundry Slack[33] during European
and North American working hours.

We hope that the new Java Client is useful for everyone and can't wait to
see what you build with it.


-Ben Hale
Cloud Foundry Java Experience


[1]:
https://github.com/cloudfoundry/cf-java-client/compare/dc8f8d5c8370de223992a0e4a024d5cff082a682...v2.0.0.RELEASE
[2]: https://github.com/cloudfoundry/cf-java-client/commits?author=Zteve
[3]:
https://github.com/cloudfoundry/cf-java-client/commits?author=cgfrost
[4]:
https://github.com/cloudfoundry/cf-java-client/commits?author=antechrestos
[5]:
https://github.com/cloudfoundry/cf-java-client/commits?author=twoseat
[6]: https://github.com/cloudfoundry/cf-java-client/commits?author=glyn
[7]:
https://github.com/cloudfoundry/cf-java-client/commits?author=LokeshN
[8]:
https://github.com/cloudfoundry/cf-java-client/commits?author=o-orand
[9]:
https://github.com/cloudfoundry/cf-java-client/commits?author=s-bortolussi
[10]:
https://github.com/cloudfoundry/cf-java-client/commits?author=smaldini
[11]:
https://github.com/cloudfoundry/cf-java-client/commits?author=benpatt
[12]:
https://github.com/cloudfoundry/cf-java-client/commits?author=mheath
[13]:
https://github.com/cloudfoundry/cf-java-client/commits?author=ramnivas
[14]:
https://github.com/cloudfoundry/cf-java-client/commits?author=WGautier
[15]: https://projectreactor.io
[16]: https://screenhero.com
[17]: https://github.com/spring-cloud/spring-cloud-dataflow
[18]: https://github.com/spring-cloud/spring-cloud-spinnaker
[19]:
https://github.com/cloudfoundry/cf-java-client/commit/dc8f8d5c8370de223992a0e4a024d5cff082a682
[20]: http://www.reactive-streams.org
[21]:
https://github.com/cloudfoundry/cf-java-client/releases/tag/v2.0.0.M1
[22]: https://github.com/cloudfoundry/cf-java-client/tree/v2.0.0.RELEASE
[23]:
http://cloudfoundry.github.io/cf-java-client/api/latest-release/cloudfoundry-client
[24]:
http://cloudfoundry.github.io/cf-java-client/api/latest-release/cloudfoundry-client-reactor
[25]:
http://cloudfoundry.github.io/cf-java-client/api/latest-release/cloudfoundry-operations
[26]:
http://cloudfoundry.github.io/cf-java-client/api/latest-release/cloudfoundry-util
[27]: http://apidocs.cloudfoundry.org/latest-release
[28]:
http://v3-apidocs.cloudfoundry.org/version/release-candidate/index.html
[29]:
https://github.com/cloudfoundry/loggregator/tree/develop/src/trafficcontroller#endpoints
[30]: http://docs.cloudfoundry.com/uaa
[31]: https://github.com/cloudfoundry/cf-java-client/issues
[32]: https://github.com/cloudfoundry/cf-java-client/pulls
[33]: https://cloudfoundry.slack.com/messages/java-client/

Join cf-dev@lists.cloudfoundry.org to automatically receive all group messages.