.. spelling::

    jQuery

=======================
Oscar 1.2 release notes
=======================

:release: 2016-03-18

Welcome to Oscar 1.2.

Table of contents:

.. contents::
    :local:
    :depth: 1


.. _compatibility_of_1.2:

Compatibility
-------------

Oscar 1.2 is compatible with Django 1.7 and 1.8 as well as Python 2.7,
3.3, 3.4 and 3.5.


.. _new_in_1.2:

What's new in Oscar 1.2?
------------------------
 - ``django-compressor`` has been removed as a dependency, and as a way of
   building ``less`` files for development. Removing or disabling it was
   commonly required as it didn't work well with deploying on :abbr:`PaaS
   (Platform as a Service)` providers, and many current projects understandably
   prefer to use Javascript build chains (``gulp``, ``grunt``, etc.) for all their
   statics.  But ``django-compressor`` was hard to remove  on a per-project basis,
   so the decision was made to remove it altogether.

   For development, ``USE_LESS`` now enables the browser-based on-the-fly
   pre-processor. ``make css`` continues to run a locally installed LESS binary.

.. _minor_changes_in_1.2:

Minor changes
~~~~~~~~~~~~~
 - Fix missing ``page_url`` field in the promotions form (:issue:`1816`)
 - The order of basket, order and wishlist lines in now guaranteed
   to be in the order of creation. Previously, this wasn't guaranteed,
   but still almost always the case.
 - `Partner` instances got a default ordering by name.
 - If a child product has no weight, we check if a parent's product weight
   is set before falling back to the default weight (:issue:`1965`).
 - `Address.active_address_fields` now uses the saner common name of a country
   instead of the official name (:issue:`1964`).
 - Custom benefits now don't enforce uniqueness on the ``proxy_class``
   field, making them more useful (:issue:`685`).
 - Move logic to create basket messages to it's own utility class
   `basket.utils.BasketMessageGenerator()`. (:issue:`1930`)
 - Fix a caching issue in `Product.get_absolute_url()` (:issue:`1925`)
 - Update the `recently_viewed_products` templatetag to accept a
   `current_product` attribute. (:issue:`1948`)


.. _incompatible_in_1.2:

Backwards incompatible changes in Oscar 1.2
-------------------------------------------

- The ``mainstyles`` template block was removed. It served as a wrapper
  for the ``styles`` content black and was needed to be extensible while
  still being able to compress CSS. As ``django-compressor`` has been
  removed, it's not needed any more. Just use ``styles`` instead if you
  happened to use it.

- The `keywords` block is removed from the main template (:issue:`1799`)

- The US and Demo sites were both removed from the repository as they
  were not up-to-date anymore. These might return in the future as
  separate repositories.

- The `RecentReviewsManager`, `TopScoredReviewsManager` and
  `TopVotedReviewsManager` managers are removed from the reviews app
  since they were broken and unused.

 - A new unique index is added to `catalogue.AbstractAttributeOption` to make
   sure that the `group`, `option` combination is unique (:issue:`1935`)


Dependency changes
------------------

* The following packages are updated:
    - `django-treebeard >= 4.0` (Django 1.9 support)
    - `sorl.thumbnail >= 12.4a1` (Django 1.9 support)
* jQuery UI is no longer included in the dashboard (:issue:`1792`)
