| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- =======================
- Oscar 1.6 release notes
- =======================
-
- :release: tbd
-
- Welcome to Oscar 1.6
-
-
- Table of contents:
-
- .. contents::
- :local:
- :depth: 1
-
-
- .. _compatibility_of_1.6:
-
- Compatibility
- -------------
-
- Oscar 1.6 is compatible with Django 1.11 as well as Python 2.7, 3.4,
- 3.5 and 3.6. Django 1.8, 1.9 and 1.10 are no longer supported.
-
- Official support for Django 1.8, 1.9 and 1.10 has been dropped.
-
- .. _new_in_1.6:
-
- What's new in Oscar 1.6?
- ------------------------
-
-
- Removal of deprecated features
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- - Removed the redundant ``OSCAR_PROMOTION_MERCHANDISING_BLOCK_TYPES`` setting.
-
- Minor changes
- ~~~~~~~~~~~~~
- - The majority of the Oscar class imports now use dynamic loading, instead of
- direct importing, for better extensibility and customizability.
-
- - Customer transaction emails were reworked to use Mailgun templates, so that
- they have a more modern appearance.
-
- - ``SearchHandler.get_search_form`` method now accepts additional
- keyword arguments, which will be passed on search form class instance
- initiation.
-
- - Added ``get_stock_info`` hook to ``oscar.apps.basket.models.Basket`` for
- implementing strategies that depend on product options.
-
- - Fixed the page create/update views in the dashboard to correctly validate
- URLs. Invalid characters in URLs will raise a validation error, as will
- URLs longer than 100 characters.
-
- - The default shipping method
- ( ``oscar.apps.basket.views.BasketView.get_default_shipping_address``)
- on the basket summary page now uses the user's default shipping address to
- calculate an indicative shipping cost.
-
- - Fixed `ExtendedURLValidator` for locale-prefixed URLs for locales, different
- from current (see :issue:`1481`). Previously, validation did not pass when
- current locale is "en-gb" and URL is "/de/catalogue/" and visa versa due to
- default Django URL resolvers behaviour.
-
- - Product attribute value save is now handled by separate methods, to make it
- easier to override this behaviour.
-
- - Address hash generation is now separated from the summary in order to
- preserve same behavior when summary property customized (see :issue:`1537`).
- They can use different field names, listed out in `base_fields` and
- `hash_fields` respectively. Also hash generation now became
- platform-independent and generates the same for Python 2 and 3.
- Corresponding data migration will update hashes automatically. Take it into
- account that it will take time to run if you have large user base.
-
- - ``oscar.core.validators.validate_password`` was removed.
- Use ``django.contrib.auth.password_validation.validate_password`` instead.
-
- - ``oscar.core.validators.CommonPasswordValidator`` was removed. Use ``django.contrib.auth.password_validation.CommonPasswordValidator`` instead.
-
- - User notifications are marked as read only when viewed in detail, instead of
- being marked as read in bulk when the notification list was viewed.
-
- - The Google Analytics tracking code provided by Oscar now uses ``gtag.js`` API
- instead of the deprecated ``analytics.js``.
-
- - Oscar's ``ImageInput``, ``TimePickerInput``, ``DatePickerInput`` and
- ``DateTimePickerInput`` all use templates for rendering.
-
- - It's now possible to manage images for variant products and their parents.
-
- - For variant products we now display their own images on product detail page
- and fallback to parent product images if they don't have any.
-
- - Basket line form quantity field now has "max" attribute with the maximum
- allowed quantity in it based on product availability and basket threshold
- (see :issue:`1412`).
-
- .. _incompatible_in_1.6:
-
- Backwards incompatible changes in Oscar 1.6
- -------------------------------------------
-
- - ``oscar.apps.customer.auth_backends.EmailBackend`` now rejects inactive users
- (where ``User.is_active`` is ``False``).
-
- - ``EmailBackend`` no longer enforces its own password strength validation,
- and relies instead on the ``AUTH_PASSWORD_VALIDATORS`` setting used by Django.
-
- - ``oscar.apps.basket.middleware.BasketMiddleware`` was rewritten as new-style
- middleware for Django 1.11.
-
- - ``oscar.apps.offer.models.ConditionalOffer`` now has a new flag
- ``exclusive`` to denote that the offer involved can not be combined on the
- same item on the same basket line with another offer.
- This flag is used by ``oscar.apps.basket.utils.LineOfferConsumer``, a facade
- that supercedes the old ``oscar.apps.basket.models.Line._affected_items`` counter,
- and replaces it with a more finegrained approach. This makes it possible to apply
- two distinct non-exclusive offers on the same basketline items, for example
- multiple distinct vouchers.
- A couple of methods on the basketline model have been extended with an
- optional ``offer`` argument, i.e. ``discount`` and ``consume``, so if you
- are using a customized basketline model, you have to update your methods'
- signatures.
-
- - Invalid URL names supplied to the ``OSCAR_DASHBOARD_NAVIGATION`` setting
- are now logged as an exception (previously they were silently ignored).
- The offending menu item will be skipped during menu rendering.
- In Oscar 1.8 the exception will be raised without being intercepted.
-
- - All signals are now loaded directly rather than using dynamic imports.
-
- - Stock manipulation (allocation/consumption/cancellation) now only happens if
- the ``track_stock`` property of the product's class is set to true.
-
- - ``oscar.forms.widgets.RemoteSelect`` was updated to work with version 4 of
- select2. Instead of rendering a hidden input it now renders a normal
- ``select`` element.
-
- - jQuery UI was removed from Oscar's static files. Projects that require it
- should install it at the project level.
-
- - Compatibility for Internet Explorer version 9 an lower was dropped from Oscar's
- templates and styles.
-
- Dependency changes
- ------------------
-
- - Upgraded jQuery to version 3.3.1.
-
- - Upgraded Bootstrap to version 3.3.7.
-
- - Upgraded bootstrap-datetimepicker to v2.4.4.
-
- - Upgraded jQuery-mousewheel to v3.1.13.
-
- - Upgraded inputmask to v3.2.7.
-
- - Upgraded jquery-sortable to v0.9.13.
-
- - Upgraded select2 to v4.0.5.
-
- .. _deprecated_features_in_1.6:
-
- Deprecated features
- ~~~~~~~~~~~~~~~~~~~
-
- The following features have been deprecated in this release:
-
- - ``StockRecord.price_excl_tax`` will be renamed into ``StockRecord.price`` in
- Oscar 2.0. Please see :issue:`1962` for more details.
-
- - The ``StockRecord.price_retail`` and ``StockRecord.cost_price`` fields are
- deprecated and will be removed in Oscar 2.0.
-
- - The ``order.Line.est_dispatch_date``, ``order.Line.line_price_incl_tax``,
- ``order.Line.unit_retail_price``, ``order.Line.unit_cost_price`` and
- ``order.Line.line_price_excl_tax`` fields are deprecated and will be removed
- in Oscar 2.0.
-
- - Support for Django 1.8, 1.9 and 1.10 has been dropped in line with the
- Django project recommendation for third party apps.
|