Skip to content

Releases: cloudfoundry/cf-java-client

Cloud Foundry Java Client 2.0.2.RELEASE

14 Nov 14:56
v2.0.2.RELEASE
7503cf3
Compare
Choose a tag to compare

I'm pleased to announce the release of the Cloud Foundry Java Client, version 2.0.2.RELEASE. This release is a bug fix and dependency update release.

For a more detailed look at the changes in 2.0.2.RELEASE, please take a look at the commit log.

Cloud Foundry Java Client 2.0.1.RELEASE

23 Sep 20:43
v2.0.1.RELEASE
d09e99c
Compare
Choose a tag to compare

I'm pleased to announce the release of the Cloud Foundry Java Client, version 2.0.1.RELEASE. This release is a bug fix and dependency update release.

For a more detailed look at the changes in 2.0.1.RELEASE, please take a look at the commit log.

Cloud Foundry Java Client 2.0.0.RELEASE

22 Aug 16:27
v2.0.0.RELEASE
2f76ed8
Compare
Choose a tag to compare

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.

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:

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 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 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 and Spring Cloud Spinnaker have been invaluable tools for driving usability and bug fixes.

And now onto the release!


This release was a complete re-write 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 library

For more detail on these goals, please see the 2.0.0.M1 Release Notes

For detailed information on how to use the client, the README is the best place to start. Javadocs for the library can be found at cloudfoundry-client, cloudfoundry-client-reactor, cloudfoundry-operations, and cloudfoundry-util. 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, V3, Doppler, and the UAA.

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 and submit pull requests. If you're looking for help and discussion we're lurking in the Cloud Foundry Slack 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.

Cloud Foundry Java Client 2.0.0.RC2

16 Aug 22:16
v2.0.0.RC2
36ad88b
Compare
Choose a tag to compare
Pre-release

I'm pleased to announce our second release candidate. This release fixes a pair of bugs reported as part of the release candidate cycle. As before, this release continues an API freeze in anticipation of a final release in the near future.

  • Doppler Envelopes did not expose Counter Events
  • Pushing Docker Images did not configuration application properly.

Cloud Foundry Java Client 2.0.0.RC1

15 Aug 17:39
v2.0.0.RC1
96394d6
Compare
Choose a tag to compare
Pre-release

After an epic development cycle, we're finally approaching the finish line. I'm please to announce our eleventh milestone release and our first release candidate! The release marks an API freeze in anticipation of a final release in the near future. If you've been holding out before now, this is a good release to start testing against.

  • Additional UAA Client API implementations
  • Additional CF Shared Domain API implementations
  • Additional CF Space Quota Definition API implementations
  • Additional timeout configuration options
  • Improved streaming of logs through proxies
  • Improved Integration Test coverage

Cloud Foundry Java Client 2.0.0.M10

26 Jul 22:49
v2.0.0.M10
c2edb60
Compare
Choose a tag to compare
Pre-release

Following along quickly, I'm pleased to announce our tenth milestone release! This milestone fixes a horrible bug that made the client unusable after UAA tokens expired (typically five minutes).

Like last time, we expect the next milestone to be a release candidate (RC1) after which the API will be frozen for the release. This release makes some minor breaking API changes dealing with how applications and buildpacks are uploaded and as before we're still evaluating significantly wider usage of Optional in the API.

  • Additional UAA Client API implementations
  • Use of InputStreams in the Operations layer are now uses of Path
  • All provided TokenProviders now refresh the token shortly before it expires
  • All Resource Matching Client API implementations
  • Improved Integration Test coverage

Cloud Foundry Java Client 2.0.0.M9

20 Jul 23:00
v2.0.0.M9
c24f756
Compare
Choose a tag to compare
Pre-release

After an extended delay, I'm pleased to announce the our ninth milestone release. This milestone is a big one tidying up a ton of loose ends, making breaking API changes, and renaming artifacts. I highly recommend reviewing the README to verify the names and versions of dependent artifacts as well as how to instantiate the Clients and Operations.

We expect the next milestone to be a release candidate (RC1) after which the API will be frozen for the release. We expect some more breaking API changes before that milestone dealing with how applications and buildpacks are uploaded as well as significantly wider usage of Optional in the API.

  • cloudfoundry-client-spring artifact is now called cloudfoundry-client-reactor
  • All *Client builder APIs have changed and are now consistent with one another
  • All Doppler APIs now return envelopes along with payloads
  • Streaming Log Operation now sorts entries (as best it can)
  • Full proxy support
  • Additional PaginationUtils for all existing paginated request and response types (CF V2, CF V3, UAA)
  • Complete removal of Lombok in lieu of Immutables
  • Complete removal of Spring from network path in lieu of Reactor
  • Fixed an ancient bug that prevent the client from working with BlueMix or Helion
  • Additional UAA Authorization API implementations
  • Additional UAA Client API implementations
  • Additional UAA Group API implementations
  • Additional Security Group operation implementations
  • Improved Integration Test coverage

Cloud Foundry Java Client 2.0.0.M8

18 Jun 14:24
v2.0.0.M8
dc52a44
Compare
Choose a tag to compare
Pre-release

As the eighth of our fortnightly milestone releases, this release focuses on UAA APIs..

  • Additional UAA Authorization API implementations
  • Additional UAA Identity Provider API implementations
  • Additional UAA Group API implementations
  • Additional UAA User API implementations
  • Additional Security Group operation implementations
  • The ssh-code operation implementation
  • Much more liberal response deserialization, allowing much more to be null
  • Significantly improved performance of large uploads and downloads
  • Improved Integration Test coverage

Cloud Foundry Java Client 2.0.0.M7

06 Jun 21:52
v2.0.0.M7
c90ca73
Compare
Choose a tag to compare
Pre-release

As the seventh of our fortnightly milestone releases, this milestone continues the continues our move onto Immutables based request and response types. It also continues adding CF Client and UAA API implementations as well as Operations.

  • Updated to be compatible with latest versions of Reactor and Reactor Netty
  • Updates to dependencies
  • Additional UAA User API implementations
  • Additional Service operation implementations
  • Additional Service Admin operation implementations
  • Improved Integration Test coverage

Cloud Foundry Java Client 2.0.0.M6

20 May 22:06
v2.0.0.M6
1699ec0
Compare
Choose a tag to compare
Pre-release

As the sixth of our fortnightly milestone releases, this milestone continues the move onto a Reactor Netty based network stack. It also continues adding CF Client and UAA API implementations as well as Operations.

  • Added proxy support
  • Additional Client Service Broker operation implementations
  • Additional UAA Token API implementations
  • Complete Service Keys API implementations
  • Complete V3 Service Bindings API implementations
  • Fixed bug that prevented empty collections from being sent to the server
  • Improved Integration Test coverage
  • Migrated existing Client V3 Buildpacks, V3 Packages, Private Domains, Route Mappings, Routes, Security Groups, Service Brokers, Service Instances, Service Keys, Service Plans, Service Plan Visibilities, Services, Service Usage Events, Shared Domains, Space Quota Definitions, Spaces, and User Provided Service instances to Reactor Netty implementation