Releases: cloudfoundry/cf-java-client
Cloud Foundry Java Client 2.0.2.RELEASE
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
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
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:
- Steve Powell
- Chris Frost
- Benjamin Einaudi
- Paul Harris
- Glyn Normington
- Lokesh Kumar N
- Olivier Orand
- Sebastien Bortolussi
- Stephane Maldini
- Ben Patterson
- Mike Heath
- Ramnivas Laddad
- William Gautier
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
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
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
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
InputStream
s in the Operations layer are now uses ofPath
- All provided
TokenProvider
s 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
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 Client
s 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 calledcloudfoundry-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
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
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
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