<commit_before>---
layout: base
---

%h1
  Updating Notes

%p
  This page contains some notes on updating Togglz to newer versions. Although
  we aim to keep backwards compatibility with older version, in 
  some cases it may be necessary to take care of something when updating. 
  So please have a look at the sections on this page before updating.

%h2
  Updating to Togglz 2.1.0 from 2.0.0 

%h3
  Hash calculation for gradual rollout strategy

%p
  The <i>Gradual Rollout</i> activation strategy in Togglz 2.0.0 used a simple
  hash value of the user's name to determine if a feature should be active or not.
  This has changed in 2.1.0. Since this version the default hash value
  will be created from the username AND the feature name to provide a better
  distribution of hash values.

%p
  What does this mean for you? This means that if you are currently using the gradual
  rollout strategy and are updating to 2.1.0 or newer, the users for which the
  features are active will be different after the update. So please plan your update
  accordently.

%h2
  Updating to Togglz 2.0.0 from 1.1.x 

%p
  This section described the process of migrating applications that are using
  Togglz 1.1.x to the new Togglz major version 2.0.0.

%h3
  New feature state data structure
<commit_msg>Updating notes regarding Spring module split<commit_after>---
layout: base
---

%h1
  Updating Notes

%p
  This page contains some notes on updating Togglz to newer versions. Although
  we aim to keep backwards compatibility with older version, in 
  some cases it may be necessary to take care of something when updating. 
  So please have a look at the sections on this page before updating.

%h2
  Updating to Togglz 2.2.0 from 2.1.0

%p
  Please not that Togglz 2.2.0 hasn't been released yet.

%h3
  Split of Spring module

%p
  In previous Togglz versions the Spring module had a dependency on <code>spring-web</code>.
  This caused problems for people wanting to use Togglz in Spring projects which aren't
  web applications.

%p
  Therefore the <code>togglz-spring</code> module has been split into <code>togglz-spring-core</code>
  and <code>togglz-spring-web</code>. What does this mean for you? If you are updating from a
  previous version of Togglz, you will have to use this Maven dependency for the Spring module
  after updating the version:

%pre(class="prettyprint lang-xml")
  :escaped
    <dependency>
      <groupId>org.togglz</groupId>
      <artifactId>togglz-spring-web</artifactId> <!-- was 'togglz-spring' before -->
      <version>${togglz.version}</version>
    </dependency>

%h2
  Updating to Togglz 2.1.0 from 2.0.0 

%h3
  Hash calculation for gradual rollout strategy

%p
  The <i>Gradual Rollout</i> activation strategy in Togglz 2.0.0 used a simple
  hash value of the user's name to determine if a feature should be active or not.
  This has changed in 2.1.0. Since this version the default hash value
  will be created from the username AND the feature name to provide a better
  distribution of hash values.

%p
  What does this mean for you? This means that if you are currently using the gradual
  rollout strategy and are updating to 2.1.0 or newer, the users for which the
  features are active will be different after the update. So please plan your update
  accordently.

%h2
  Updating to Togglz 2.0.0 from 1.1.x 

%p
  This section described the process of migrating applications that are using
  Togglz 1.1.x to the new Togglz major version 2.0.0.

%h3
  New feature state data structure

{'fraction_non_alphanumeric': 0.05695664494190989, 'fraction_numerical': 0.020119013884953244, 'mean_word_length': 3.457070707070707, 'pattern_counts': {'":': 0, '<': 24, '<?xml version=': 0, '>': 24, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 1}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '889798', 'n_tokens_mistral': 1101, 'n_tokens_neox': 1050, 'n_words': 525}