Prev: exceptions from daemon threads which access the global namespace atinterpreter shutdown (how to squelch output?)
Next: [ANN] pyjamas 0.7 released
From: Elvis on 25 Apr 2010 06:02 Say, a Standard Library function works in a way it was not supposed to. Developers (who use Python) handle this issue themselves. And then, you (a python-core developer) fix the behavior of the function. Although you have fixed the bug, anyone who upgrades, will be in trouble. Their code may no longer work. How do you go about this issue? How do you fix things without breaking down existing systems?
From: exarkun on 25 Apr 2010 10:39
On 10:02 am, elvismoodbidri(a)gmail.com wrote: >Say, a Standard Library function works in a way it was not supposed >to. > >Developers (who use Python) handle this issue themselves. >And then, you (a python-core developer) fix the behavior of the >function. > >Although you have 1Cfixed 1D the bug, anyone who upgrades, will be in >trouble. >Their code may no longer work. > >How do you go about this issue? >How do you fix things without breaking down existing systems? CPython itself has no policy about such things. Each case is handled independently by whomever is working on it. http://twistedmatrix.com/trac/wiki/CompatibilityPolicy might be interesting, though. The general idea there (and I'm not sure how well it's actually expressed there) is that if you want new behavior, then (with a few exceptions) you add a new API: you don't change an existing API. Jean-Paul |