<commit_before>---
title: Spree 3.3.0
section: version
---

## Major/New Features

### Rails 5.1 support

`Spree 3.3` is now compatible with `Rails 5.1` compared to `3.2` which used to run on `Rails 5.0`.
Thanks to that you can start using all of the [new great features available in Rails 5](http://edgeguides.rubyonrails.org/5_1_release_notes.html)

Cintributed by [<NAME>](https://github.com/joshRpowell) & [Spark Solutions](http://sparksolutions.co) & [<NAME>](https://github.com/jhawthorn)

### Ruby 2.4 support

Spree now works with Ruby `2.2` (`>= 2.2.7`), `2.3.x` and `2.4.x`.

Contributed by [Spark Solutions](https://github.com/spree/spree/pull/7934)

### Preventing duplicate values for number fields

We've added unique indexes and uniqueness validation on `number` field for those models:

* `CustomerReturn`
* `Order`
* `Payment`
* `Reimbursement`
* `ReturnAuthorization`
* `Shipment`
* `StockTransfer`<commit_msg>Add segment tracker info in 3.3 release notes<commit_after>---
title: Spree 3.3.0
section: version
---

## Major/New Features

### Rails 5.1 support

`Spree 3.3` is now compatible with `Rails 5.1` compared to `3.2` which used to run on `Rails 5.0`.
Thanks to that you can start using all of the [new great features available in Rails 5](http://edgeguides.rubyonrails.org/5_1_release_notes.html)

Cintributed by [<NAME>](https://github.com/joshRpowell) & [Spark Solutions](http://sparksolutions.co) & [<NAME>](https://github.com/jhawthorn)

### Ruby 2.4 support

Spree now works with Ruby `2.2` (`>= 2.2.7`), `2.3.x` and `2.4.x`.

Contributed by [Spark Solutions](https://github.com/spree/spree/pull/7934)

### Segment.com tracker integration

We've extended Tracker system to include other trackers besides Google Analytics.
First of the bunch is [Segment](http://segment.com/) which enables you to
connect your store with over 200 analytics engines, CRMs, live chats, remarketing platforms,
A/B systems and much more. Now in Spree out of the box! No additional development required!

Developed entirely on our first ever [Spree hackaton](https://www.facebook.com/sparksolutions.co/posts/496593110678871).

Contributed by [Spark Solutions](https://github.com/spree/spree/pull/8157)

### Preventing duplicate values for number fields

We've added unique indexes and uniqueness validation on `number` field for those models:

* `CustomerReturn`
* `Order`
* `Payment`
* `Reimbursement`
* `ReturnAuthorization`
* `Shipment`
* `StockTransfer`
{'fraction_non_alphanumeric': 0.13468559837728195, 'fraction_numerical': 0.03488843813387424, 'mean_word_length': 4.643020594965675, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 8, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5434153', 'n_tokens_mistral': 871, 'n_tokens_neox': 802, 'n_words': 261}