Showing posts with label release. Show all posts
Showing posts with label release. Show all posts

Monday, 15 July 2019

Infinispan 10.0.0.Beta4

Dear Infinispan users,

it has been a while since our last release and quite a few things have been cooking in the Infinispan furnace. Bear in mind that the list below should just serve as a summary and that dedicated blogs, documentation and examples will appear in the near future.

Server

Since 5.3, our server has been built on top of WildFly (JBoss AS7 at the time). WildFly gave us a very solid base, including integration with a lot of useful components (security, datasources, management etc) but it also forced us to maintain a large amount of integration code. We have therefore decided to start from a much leaner base to build the new server which, internally we've been calling ServerNG, but which we're now releasing as "Infinispan Server". The old WildFly-based server is still available, but it should be considered "legacy" and will no longer receive any feature enhancements.

The new server deserves its own dedicated post, but its main features are:
  • smaller size (36MB vs 130MB)
  • smaller memory footprint (20MB heap usage at boot vs 40MB)
  • single-port: the Hot Rod, REST and management endpoint are now served through a single-port (11222) with automatic protocol detection between HTTP/1.1, HTTP/2 and Hot Rod. The memcached endpoint is handled separately since we don't implement the binary protocol yet.
  • security implemented using WildFly Elytron currently supporting PLAIN, DIGEST-MD5, SCRAM, EXTERNAL mechs for Hot Rod, BASIC, DIGEST, CLIENT_CERT for REST/HTTP (OAuth/JWT/GS2/GSSAPI/SPNEGO will be coming in the next releases)
  • the server configuration extends the embedded configuration scheme
  • caches/counters are created and managed dynamically through Hot Rod / REST.

Marshalling

Infinispan's marshalling has received a significant overhaul and it is now split into three distinct marshallers: Internal, Persistence and User (ISPN-7409 ISPN-9621)
The Persistence marshaller is now based on ProtoBuf allowing for long-term compatibility of data stored in memory and in cache stores.
The Store Migrator has been updated to allow migration from Infinispan 8.x/9.x cache stores to the new format (ISPN-10276)

Core changes

Infinispan's internal dependency-injection has been completely rewritten so that factories, components and dependencies are discovered and resolved at compile time instead of using runtime reflection. This, together with the marshalling changes and recent JGroups changes, paves the way for usage and native compilation with Quarkus.

REST

The REST API is continuing its overhaul with the following additions to the v2 API
The REST endpoint now fully supports authorization (ISPN-8736)

Reactive API

The first implementation of our new Reactive API have been merged. This is still work in progress and the API will receive major changes until the Final release.
The new API includes a new API module and a new KeyValueStore Hot Rod client where search, continuous search and Key Value store methods are included.

Cross-Site Replication

Async mode cross-site replication received 2 major improvements:
  • async mode is now able to detect disconnections between sites and bring the site offline based on <take-offline> configuration (ISPN-10180)
  • track and exposes the average replication times for asynchronous requests (ISPN-9457)

Non-blocking


  • Non-blocking Hot Rod authentication (ISPN-9841)
  • Non-blocking REST endpoint (ISPN-10210)
  • Update internal remote listener code to support non blocking (ISPN-9716)
  • Update internal embedded listeners to be non blocking (ISPN-9715)

Removal/deprecations

A new major release is also an opportunity to do some house cleaning.

Deprecations


  • Deprecate GridFileSystem and org.infinispan.io stream implementations (ISPN-10298)
  • Deprecated Total Order transaction mode (ISPN-10259)

Removals

  • AtomicMap implementations removed (ISPN-10230)
  • Remove deprecated org.infinispan.io classes (ISPN-10297)
  • Remove org.infinispan.tools.ConfigurationConverter (ISPN-10231)
  • Remove compatibility mode (ISPN-10370)

If you are curious you can read the detailed release notes including all fixed issues.
As usual you can ask questions on the forum, StackOverflow and interactively on our Zulip Chat.
Please report any bugs you find on our Issue Tracker.
Going back to our three-week schedule, our next release will be Beta5, three weeks from now.

Friday, 12 July 2019

Infinispan Operator 0.3.0 expands container and security configuration!

Infinispan Operator 0.3.0 is now available with expanded configuration and security options:

Container Configuration


With this release of the Infinispan Operator, you can configure explicit CPU and memory limits for individual containers. The defaults are 0.5 CPUs and 512Mi of memory.

The Operator also lets you pass extra JVM options, which is useful for tracking native memory consumption or extra GC logging parameters.


Security Configuration


Starting with 0.3.0, credentials are automatically generated for data connector and management users when you instantiate the Infinispan Operator.

The default usernames are developer and admin for the data connector user and management user, respectively.

Generated passwords are stored in Kubernetes Secret instances. You can extract the passwords as follows:

For convenience, the default usernames are also stored in the secret. Using the jq command line tool, you can inspect both the username and password values with a single command:

If you want to set custom credentials for the data connector and management users, create Kubernetes Secret instances as follows:

When using a Credentials type authentication, the referenced secrets must contain username and password fields.

Trying It Out!


The easiest way to get started with the Infinispan Operator is via the simple tutorial. The Operator is compatible with vanilla Kubernetes environments, such as Minikube, as well as Red Hat OpenShift.

Available via Operator Hub


Install the Infinispan Operator directly from the Operator Hub, which is available out of the box on all OpenShift 4 versions. If you're using a vanilla Kubernertes environment, you might need to install the Operator Lifecycle Manager before you can install via the Operator Hub.

The Infinispan Operator is also included in the community for Kubernetes Operators is available from operatorhub.io.

What's Next?


The Operator configuration does not yet provide all capabilities available for Infinispan servers. We're working through a process of configuration specification that distills the server configuration into a simple, easy to use, set of configuration options. The current proposal is being discussed openly here.

Infinispan 10 brings a brand new server that's no longer based on WildFly. The Operator 0.x series will remain focused on Infinispan 9.x server, with Operator 1.x series focusing on Infinispan 10 and onwards.

Cheers,
Galder

Monday, 8 April 2019

Operator 0.2.1 out with DNS ping and expanded customizations

We've just completed the release of the Infinispan Operator version 0.2.1. In this second minor release, we've added the following features:

DNS Cluster Discovery


Cluster nodes now discover each other using DNS ping, which uses name lookups. Each node publishes a headless service which they use to locate each other. Previously, Kubernetes APIs were queried to discover other nodes, but this required administrator rights. DNS ping does not require admin permissions.

Configurable Image


The Infinispan server image used by the operator is now configurable, e.g.


Configurable XML


You can now provide their own custom Infinispan server XML referencing an existing ConfigMap:

Note that this example requires a ConfigMap with the XML file to be created before hand.

Next Steps


We're already working on version 0.3.0, and in parallel we've been working on our first OperatorHub submission. We hope to have some news for you very soon :)

Cheers,
Galder

Wednesday, 6 March 2019

Triple cachestore release: Cloud, MongoDB and Cassandra

Today we present to you a trifecta of cache store releases which align to Infinispan 9.x

Cassandra Cache Store

The Cassandra cache store now implements the publishEntries/publishKeys methods.

Cloud Cache Store

The Cloud cache store uses the Apache jclouds library to store data on cloud storage providers such as Amazon’s S3, Rackspace’s Cloudfiles or any other such provider supported by JClouds.
The store has been updated to Infinispan 9.x's persistence SPI and uses jclouds 2.1.x

MongoDB Cache Store

This cache store has also been updated to the Infinispan 9.x persistence SPI.

You can get documentation and maven coordinates from our Cache Store page

Monday, 4 March 2019

First OpenShift Operator pre-release for Infinispan is here!

Infinispan Operator is a new method of packaging, deploying and managing Infinispan clusters on OpenShift. You can think of the Infinispan Operator as the runtime that manages Infinispan clusters on OpenShift.

We've just done our first Infinispan Operator pre-release, version 0.1.0, which allows you to easily boot up an Infinispan cluster on OpenShift.

Using the operator is as simple as installing the Infinispan Operator (requires admin access) on OpenShift, and then create a YAML descriptor that defines the Infinispan cluster. The example below shows how to create a 3-node Infinispan cluster:

And then call:

$ oc apply -f example-infinispan.yaml

A more detailed tutorial on using the Infinispan Operator can be found here. We highly recommend you give it a go and let us know what you think.

Over the next few versions we'll be adding more features that make the most of the capabilities the Operator framework offers to automatically manage the health and status of running Infinispan clusters.

Please also note that as we work towards the 1.0 release, some things might change :)

Cheers
Galder

Friday, 22 February 2019

Infinispan Spring Boot Starter 2.1.4.Final is out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan Spring Boot 2.1.4.Final.

2.1.4.Final is using the last Infinispan Release 9.4.8.Final and Spring-Boot 2.1.3.RELEASE.

You can find this release in the maven central repository.

Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Enjoy,

The Infinispan Team

Thursday, 21 February 2019

Infinispan 10.0.0.Beta2 and 9.4.8

Hello Infinispan users,

What ? You're wondering where Beta1 is ? And what happened to 9.4.7 ?
Unfortunately, those releases, while tagged and available on your closest Maven Central mirror will only work with Java 11, so we had to rebuild and re-release.

So, without further ado, I give you 10.0.0.Beta2 and 9.4.8.Final.

The first change I should outline is one that will impact you if you are building Infinispan from source. The previous build structure required having both JDK 8 and JDK 11 in order to compile a release which worked on both. In order to simplify the build process, as well as ensuring that the output is always consistent we now require Java 11 only. Don't worry: the resulting binaries will still work on Java 8 and greater.

10.0.0.Beta2

The first beta of our next major release contains a number of enhancements:

[ISPN-9847] - Extend configuration to allow inline JGroups configuration and inheritance
[ISPN-9699] - Cluster member owning no data
[ISPN-8124] - ServerNG: Initial implementation

We will soon be posting about these features individually.

The work on persistent storage long-term compatibility is progressing with
[ISPN-9845] - Stop exposing InternalMetadata via the persistence SPI

Notable fixes:

[ISPN-4075] - State transfer should preserve the creation timestamp of entries

And if you were still using the old Distributed Executor, that has been finally removed in
[ISPN-9784] - Remove Distributed Executor

9.4.8.Final

Our latest point release contains lots of bug fixes and minor enhancements.

As usual you can ask questions on the forum, StackOverflow and interactively on our Zulip Chat.
Please report any bugs you find on our Issue Tracker

Thursday, 31 January 2019

Infinispan Spring Boot Starter 2.1.3.Final is out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan Spring Boot 2.1.3.Final.

2.1.3.Final is using the last Infinispan Release 9.4.6.Final and contains some bug fixes related to Actuator integration.

You can find this release in the maven central repository.

Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Enjoy,

The Infinispan Team

Monday, 28 January 2019

10.0.0.Alpha3 and 9.4.6.Final

Hey there,

the Infinispan team has cooked two releases for you today:

10.0.0.Alpha3

This release contains 3 features:


  • [ISPN-4075] - State transfer should preserve the creation timestamp of entries
  • [ISPN-9320] - Automatic hot rod client version selection
  • [ISPN-9625] - Make clustered locks configuration possible by XML
  • [ISPN-9771] - Support for configuration in JSON format
We've also started removing code which was deprecated in the past, so check the upgrading document to see what you need to adapt in your application. This document will receive further changes during the 10.0 cycle.

The complete list of issues resolved in 10.0.0.Alpha3.

Some other features are in the works and should be landing during the beta period. Check the first of the alpha posts to learn more about the new stuff.


9.4.6.Final

The stabilization of 9.4 continues with this micro release.

Highlights are:

  • [ISPN-7889] - BaseDistributionInterceptor.remoteGet may cause concurrency issues
    [ISPN-8889] - Data race in NonTxInvocationContext
  • [ISPN-9873] - Remove listeners when the lock is removed
  • [ISPN-9822] - BasicComponentRegistryImpl fails with security manager
  • [ISPN-9819] - Improve Spring-Session events handling in remote and embedded

The complete list of issues resolved in 9.4.6.Final.


Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Tuesday, 15 January 2019

Infinispan Spring Boot Starter 2.1.2.Final is out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan Spring Boot 2.1.2.Final.

2.1.2.Final is using Spring Boot 2.1.2.RELEASE and contains some bug fixes related to JCache and Actuator integration.

The starter is now using Infinispan's last stable release: 9.4.5.Final.

You can find this release in the maven central repository.

Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Enjoy,

The Infinispan Team

Tuesday, 11 December 2018

Infinispan Spring Boot Starter 2.1.1.Final and 1.0.4.Final are out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan Spring Boot 2.1.1.Final and 1.0.4.Final.

1.0.4.Final is using Spring Boot 1.5.17.RELEASE
2.1.1.Final is using Spring Boot 2.1.1.RELEASE 

Both starters are now using Infinispan's last stable release: 9.4.4.Final.

9.4.4.Final provides full support to JDK 11, Spring 4 and 5.
Concerning Spring 5, it includes Spring Session 2.1.2.RELEASE support.

You can find these releases in the maven central repository.

Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Enjoy,

The Infinispan Team

Monday, 10 December 2018

Infinispan 9.4.4.Final and 10.0.0.Alpha2 out with Spring 5 support!

We've just released completed a couple of releases:

Infinispan 9.4.4.Final (release notes)

  • Adds Spring 5 and Spring Boot 2.1 support
  • Fixes for JDK 11 compatibility. 
  • Improves Cache#size() performance when using shared cache stores.

Infinispan 10.0.0.Alpha2 (release notes) contains same fixes as 9.4.4.Final plus

  • Removes the CLI cache loader
  • RemoteCache#getBulk methods.

Don't forget to checkout the Infinispan 10 road map blog post to find out all that's coming.

Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Cheers,
Galder

Wednesday, 21 November 2018

The road to Infinispan 10 (Alpha1)

Dear all,

Today we are releasing 10.0.0.Alpha1 and 9.4.2.Final.

Infinispan 9.4.2.Final comes with a number of bug fixes and some small additional features:

  • ISPN-9655 REST Access Log headers
  • ISPN-8144 & ISPN-9661 Cross-Site replication statistics
  • ISPN-9708 Expose the executor services through JMX
  • ISPN-9732 Local iteration optimization with write behind is valid for non shared stores
  • ISPN-9717 Fix Integer overflow for lifespan and maxIdle

We have begun working on what will become Infinispan 10. As with all new major releases, this will come with a number of important changes.

  • New Server
    We are working on a new lightweight server, currently dubbed ServerNG, which will supersede the current WildFly-based offering. The new server will have a smaller disk and memory footprint, a new RESTful admin interface, improved security. It will still use familiar components (Elytron for security, Narayana for transactions, etc) but we hope that the installation and usability experience will be most improved. A dedicated blog post will describe in detail what is coming.
  • Long-term Storage Format
    The persistent storage format will be changed so that it will be easier to transparently make changes to it without requiring further exporters/importers.
  • Non-blocking listeners
    The listener implementation will be replaced with a non-blocking implementation.
  • Asynchronous CacheLoader/Store
    Store operations will be ran in another thread to provide non blocking for main threads
  • Improved statistics
    Infinispan statistics have been traditionally over-simplistic, offering mostly basic averages for writes and reads. We are going to implement percentiles on a histogram as well as recording tracing information so that you will be able to know how much time is being spent in the various subsystems (clustering, persistence, etc.)
  • New API
    The current Infinispan API, based around Java's ConcurrentHashMap design, does not offer the flexibility required to support modern reactive designs as well as the various extensions we've added over the years (counters, multimaps, etc). We are therefore working on a new modern API design which we will be describing with a number of blog posts in the near future.
  • Agroal JDBC Connection Pool
    We are replacing the JDBC connection pool implementation with Agroal.
  • Kubernetes Operators
    Operators are all the rage in the Kubernetes world, and we are working on an Infinispan Operator which will take care of managing and monitoring the health of an Infinispan cluster, handle scale up/scale down safely, perform upgrades and more.

Infinispan 10.0.0.Alpha1 is the first release from our development branch. It currently includes the following features on top of what is in 9.4.2.Final:



Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Thursday, 15 November 2018

Hotrod clients C++ and C# 8.3.0.Final are out!

Dear Infinispanners,

The C++ and C# 8.3.0.Final releases are out!

Main features contained in this release are:
  • Cache Admin Operations: create and remove cache at runtime;
  • Counters: clusterwide counters;
  • Transactions: run a list of operations transactionally;
  • Media Types: use differents media-types to encode (key,value) pairs.
Source code, binaries and docs are available as usual at the links below.

Thank you for reading,
The Infinispan Team


[1] Release notes for the 8.3.0 serie
[2++] C++ code for 8.3.0.Final
[2#] C# code for 8.3.0.Final
[3] Downloads

Friday, 9 November 2018

Infinispan 9.4.1.Final and Infinispan Spring Boot Starter 2.1.0.Final are out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan 9.4.1.Final and Infinispan Spring Boot 2.1.0.Final.

Highlights of the Infinispan release include:

Complete release notes can be read here.

Highlights of the Infinispan-Spring-Boot release include:
  • Upgrade Spring-Boot version to 2.1.0
  • Upgrade Infinispan version to 9.4.1
  • Integration with Spring Actuator, to expose production ready metrics (ISPN-9668)
  • Bug fixes
  • Additional code examples
You can find these releases in the maven central repository.

Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Enjoy,

The Infinispan Team

Wednesday, 31 October 2018

Native JSON and Node 8.11 baseline in Node.js client 0.6.0!!

Infinispan Node.js client 0.6.0 is out now!! :)

As well as updating the client so that it understand the latest Hot Rod protocols in Infinispan 9.4.0.Final, this version comes with native JSON object support.

To make the Node.js client backwards compatible, the client still treats key/value pairs as String by default. If you want to use native JSON objects, you have to explicitly configure the Node.js client to do so (see example).

Starting with this version, we've upgraded the base Node version requirement to 8.11, which is the latest stable release branch at the time of writing. With such upgrade, the client no longer needs to use external promise dependency which was know to leak.

If you're a Node.js user and want to store data remotely in Infinispan server instances, please give the client a go and tell us what you think of it via our forum, via our issue tracker or via Zulip on Infinispan channel.

Cheers
Galder

Monday, 8 October 2018

Infinispan 9.4.0.Final

Infinispan 9.4.0.Final “Infinity Minus ONE +2”

 

10 years of Infinispan

Infinispan is 10 years old this month, and what better way to celebrate than with a brand new Final release !!!

What's new

Infinispan 9.4 comes with the following new features / improvements:
  • Segments everywhere
    9.3 brought the segmented on-heap memory container. 9.4 extends this to provide the benefits of segmentation to off-heap as well as all of the core cache stores. Watch as your bulk operations (size, iteration, streams) get a big performance boost !
  • Transcoding everywhere
    To paraphrase the Grand Moff Tarkin, “The last remnants of Compatibility Mode have been swept away”. Transcoding, i.e. the ability to transparently convert between a number of formats across different endpoints, is now “fully operational”.
  • Transactions everywhere
    Hot Rod transactions now support recovery.
  • Hot Rod client improvements
    The Hot Rod client has received many improvements:
    • Client-side statistics, complete with JMX support
    • Improvements to the scalability and the behaviour of near-caches
    • All of the configuration can now be supplied via the properties, which also means easier integration with other frameworks, such as Spring Boot.
  • Query improvements
    Many cleanups and improvements
  • Bugfixes, stability, reliability
    Although not as exciting as new features, we continued our work to improve the stability, reliability and performance of all aspects of Infinispan.
  • Upgrades:
    • As usual the latest and greatest JGroups 4.0.15
    • The server is now based on WildFly 14

Get it, Use it, Ask us!

Please download, report bugs, chat with us, ask questions on the forum or on StackOverflow.

Monday, 17 September 2018

Infinispan 9.4.0.CR3, 9.3.3 and codename vote

Hi Infinispan Community,

our original plan was to release 9.4 Final today, but we have decided to delay the release by an extra sprint (3 weeks).
So today we are announcing 9.4.0.CR3 instead, which comes with the following fixes:

  • Segmented off-heap data container
  • Performance improvements for Near Caches
  • Hot Rod client-side statistics
  • Removal of the old compatibility mode in favor of the new transcoding capabilities is now complete
  • Server rebased on top of WildFly 14
  • Lots of code cleanups, especially around query
  • Bug fixes
For those of you on our stable branch, we also released a 9.3.3 with some bug fixes.
Please download, report bugs, chat with us, ask questions on the forum or on StackOverflow.

As this release is yet unnamed, please make sure you vote for the name:

Tuesday, 4 September 2018

Infinispan Spring Boot Beta2 is out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan Spring Boot 2.0.0.Beta2.

Highlights of this release include:
  • Upgrade to Spring Boot 2.0.3.RELEASE
  • RemoteCache can be injected now. Example here 

You can find the release in the maven central repository.

Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Enjoy,

The Infinispan Team

Thursday, 30 August 2018

Infinispan 9.3.2.Final and 9.4.0.CR2 are out!

Dear Infinispan users,

We have just released 9.3.2.Final and 9.4.0.CR2.

9.3.2.Final includes bug fixes and improvements.

Highlights of this release include:
  • Upgrade to protostream 4.2.1.Final (ISPN-9399
  • Ship basic analyzers by default (ISPN-9429
  • Avoid unneeded parentheses in Ickle query string generated by QueryBuilder (ISPN-9378
The full list of 9.3.2.Final fixes are here.

9.4.0.CR2 has been released due to an internal issue we experienced releasing CR1.

You can find both releases on our download page. Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Enjoy,

The Infinispan Team