Changes between Version 210 and Version 211 of BackwardsIncompatibleChanges


Ignore:
Timestamp:
08/06/08 10:43:54 (7 years ago)
Author:
jacob
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BackwardsIncompatibleChanges

    v210 v211  
    7474 * [8191] Aug. 1, 2008 [#Removedseveraldeprecatedfeaturesfor1.0 Removed several deprecated features for 1.0]
    7575 * [8202] Aug. 3, 2008 [#Removeddictionaryaccesstorequestobject Removed dictionary access to request object]
    76  * [8211] Aug. 5, 2008 [#urltagnowallowsNoReverseMatchexceptionstopropagate url tag now allows !NoReverseMatch exceptions to propagate]
     76 * [8211] Aug. 5, 2008 [#urltagnowallowsNoReverseMatchexceptionstopropagate url tag now allows !NoReverseMatch exceptions to propagate]                 
     77 * [8223] Aug 6, 2007 [#signalrefactoring Signal/dispatch refactoring]
    7778
    7879== Database constraint names changed ==
     
    587588
    588589
     590
    589591}}}
    590592
     
    10931095
    10941096Previously !NoReverseMatch exceptions were silenced in the `{% url %}` tag.  This is very rarely useful, and usually just produced difficult to find bugs, and so was changed in [8211].  See #8031.
     1097
     1098== Signal refactoring ==
     1099
     1100[8223] refactored signals and {{{django.dispatch}}} with an eye towards speed. The net result was up to a 90% reduction in the speed of signal handling, but along the way some backwards-incompatible changes were made:
     1101
     1102 * All signals now must be declared as accepting {{{**kwargs}}}.
     1103 * Signals are now instances of {{{django.dispatch.Signal}}} instead of anonymous objects.
     1104 * Connecting, disconnecting, and sending signals are done via methods on the {{{Signal}}} object instead of through module methods in {{{django.dispatch.dispatcher}}}. The module-level methods are deprecated.
     1105 * The {{{Anonymous}}} and {{{Any}}} sender options no longer exist. You can still receive signals sent by any sender by
     1106 
     1107So, a quick summary of the code changes you'd need to make:
     1108
     1109|| '''Before''' || '''After'''  ||
     1110|| {{{def my_handler(sender)}}} || {{{def my_handler(sender, **kwargs)}}} ||
     1111|| {{{my_signal = object()}}} || {{{my_signal = django.dispatch.Signal()}}} ||   
     1112|| {{dispatcher.connect(my_handler, my_signal)}} || {{{my_signal.connect(my_handler)}}} ||
     1113|| {{{dispatcher.send(my_signal)}}} || {{{my_signal.send()}}} ||
     1114|| {{{dispatcher.connect(my_handler, my_signal, sender=Any)}}} || {{{my_signal.connect(my_handler, sender=None)}}} ||
Back to Top