You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. =======================
  2. Oscar 1.5 release notes
  3. =======================
  4. :release: 2017-08-10
  5. Welcome to Oscar 1.5
  6. Table of contents:
  7. .. contents::
  8. :local:
  9. :depth: 1
  10. .. _compatibility_of_1.5:
  11. Compatibility
  12. -------------
  13. Oscar 1.5 is compatible with Django 1.8, 1.10 and 1.11 as well as Python 2.7,
  14. 3.3, 3.4, 3.5 and 3.6. Support for Django 1.9 is no longer officially supported
  15. since it is longer supported by Django (end of life).
  16. .. _new_in_1.5:
  17. What's new in Oscar 1.5?
  18. ------------------------
  19. - Support for Django 1.11 (:issue:`2221`)
  20. - Google Analytics tracking code has been migrated to Universal Analytics.
  21. - Passwords are validated using the validators defined in
  22. ``AUTH_PASSWORD_VALIDATORS`` for Django 1.9 and above.
  23. - The custom PhoneNumberField implementation has been replaced with the
  24. `django-phonenumber-field`_ package (:issue:`2227`)
  25. .. _django-phonenumber-field: https://pypi.python.org/pypi/django-phonenumber-field/
  26. Removal of deprecated features
  27. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28. These methods/modules have been removed:
  29. - Profiling middleware. See `silk`_ or `django-cprofile-middleware`_
  30. for alternatives.
  31. - ``Product.min_child_price_incl_tax`` and ``Product.min_child_price_excl_tax``.
  32. - ``oscar.core.logging.handlers.EnvFileHandler()``
  33. - The ``ellipses_page_range`` templatetag. See `django-rangepaginator`_ for an
  34. alternative.
  35. - ``oscar.test.decorators`` module.
  36. - ``oscar.core.utils.compose`` function.
  37. - ``oscar.apps.customer.auth_backends.Emailbackend``. Use
  38. ``oscar.apps.customer.auth_backends.EmailBackend`` instead.
  39. - ``oscar.apps.catalogue.search_handlers.ProductSearchHandler``. Use
  40. - ``oscar.apps.catalogue.search_handlers.SolrProductSearchHandler`` instead.
  41. .. _silk: https://github.com/django-silk/silk
  42. .. _django-cprofile-middleware: https://github.com/omarish/django-cprofile-middleware
  43. .. _django-rangepaginator: https://pypi.python.org/pypi/django-rangepaginator/
  44. Minor changes
  45. ~~~~~~~~~~~~~
  46. - Added billing address to user's address book during checkout (:issue:`1532`).
  47. Number of usages for billing and shipping addresses tracked separately:
  48. billing address in ``UserAddress.num_orders_as_billing_address`` field and
  49. shipping address in ``UserAddress.num_order_as_shipping_address``
  50. accordingly.
  51. - Fixed logic for determining "hurry mode" on stock alerts. Hurry mode is now
  52. set if the number of alerts for a product exceeds the quantity in stock,
  53. rather than the other way around.
  54. - Updated search to use the haystack CharField instead of the EdgeNgramField
  55. to fix irrelevant results (:issue:`2128`)
  56. - Updated ``customer.utils.Dispatcher`` to improve the ability to customise
  57. the implementation (:issue:`2303`)
  58. - Fixed logic for determining "hurry mode" on stock alerts. Hurry mode is now
  59. set if the number of alerts for a product exceeds the quantity in stock,
  60. rather than the other way around.
  61. - ``Voucher.date_created`` and ``VoucherApplication.date_created`` model
  62. fields changed from ``DateField`` to ``DateTimeField``. If you use SQLite
  63. database, please make sure to backup data before running migrations, since
  64. due to limited support of column altering, Django re-creates new SQLite
  65. database with new columns and copies into it original data -
  66. https://docs.djangoproject.com/en/1.11/topics/migrations/#sqlite
  67. - Allowed the communication event dispatcher to accept an optional
  68. ``mail_connection`` to use when sending email messages.
  69. - Changed product alerts to be sent using the Communication Event framework.
  70. The old email templates will continue to be supported until Oscar 2.0.
  71. .. _incompatible_in_1.5:
  72. Backwards incompatible changes in Oscar 1.5
  73. -------------------------------------------
  74. - Product reviews are now deleted if the associated product is deleted.
  75. - Formset classes moved to the separate modules, if you import them directly -
  76. please update location or use :meth:`oscar.core.loading.get_classes` for
  77. loading classes (:issue:`1957`).
  78. Next classes have new locations:
  79. - ``BaseBasketLineFormSet``, ``BasketLineFormSet``, ``BaseSavedLineFormSet``,
  80. ``SavedLineFormSet`` moved to
  81. ``oscar.apps.basket.formsets`` module;
  82. - ``BaseStockRecordFormSet``, ``StockRecordFormSet``,
  83. ``BaseProductCategoryFormSet``, ``ProductCategoryFormSet``,
  84. ``BaseProductImageFormSet``, ``ProductImageFormSet``,
  85. ``BaseProductRecommendationFormSet``, ``ProductRecommendationFormSet``,
  86. ``ProductAttributesFormSet`` moved to
  87. ``oscar.apps.dashboard.catalogue.formsets``;
  88. - ``OrderedProductFormSet`` moved to
  89. ``oscar.apps.dashboard.promotions.formsets``; - ``LineFormset`` moved to
  90. ``oscar.apps.wishlists.formsets``.
  91. - ``SimpleAddToBasketForm`` doesn't override the quantity field any
  92. more. Instead, it just hides the field declared by AddToBasketForm
  93. and sets the quantity to one. This means ``SimpleAddToBasketForm``
  94. doesn't need to be overridden for most cases, but please check
  95. things still work as expected for you if you have customised it.
  96. - ``OSCAR_CURRENCY_FORMAT`` setting changed to dictionary form in order to
  97. support multi-currency for currency formatting. You can set `format`,
  98. `format_type` and `currency_digits` in it. Please refer to documentation
  99. for an example.
  100. - Dashboard order list doesn't have shortcut filters any more, pass `status`
  101. parameter instead of `order_status` for the relevant filtering.
  102. - ``GOOGLE_ANALYTICS_ID`` and ``USE_LESS`` settings were renamed into
  103. ``OSCAR_GOOGLE_ANALYTICS_ID`` and ``OSCAR_USE_LESS`` respectively in order
  104. to keep all Oscar settings under common namespace.
  105. - Removed ``display_version`` and ``version`` variables from templates and
  106. template context.
  107. - Offer ``Applicator`` is now loaded from the ``offer.applicator`` module,
  108. instead of ``offer.utils``. Old path is deprecated and won't be supported
  109. in the next Oscar versions.
  110. - ``oscar.forms.fields.ExtendedURLField`` no longer accepts a ``verify_exists``
  111. argument.
  112. Dependency changes
  113. ------------------
  114. The following packages are updated:
  115. - `django>=1.8.8,<1.12`
  116. - `django-phonenumber-field>=1.0.0,<2.0.0`
  117. - `django-haystack>=2.5.0,<2.7.0`