Twisted 8.0.0pre1 features

Новое

  • twisted.python.modules is a new system for representing and manipulating module paths (i.e. sys.path) (#1951)

  • Log files now include seconds in the timestamps (#867)

  • objgrep now knows how to search through deque objects (#2323)

  • It is now possible to limit the number of log files to create during log rotation (#1095)

  • twisted.python.lockfile contains a DeferredFilesystemLock which gives a Deferred interface to lock file acquisition (#2180)

  • twisted.python.log now contains a Twisted log observer which can forward messages to the Python logging system (#1351)

  • Trial reporting to core unittest TestResult objects has been improved (#2495)

  • There is now an example cred checker that uses a database via adbapi (#460)

  • twisted.internet.fdesc now contains a writeToFD function in twisted, along with other minor fixes (#2419)

  • The interface required by the log context system is now documented as ILoggingContext, and abstract.FileDescriptor now declares that it implements it (#1272)

  • The epoll reactor is now documented in the choosing-reactors howto (#2539)

  • twisted.python.usage now allows optional type enforcement (#739)

  • LoopingCall now allows you to specify the reactor to use to schedule new calls, allowing much better testing techniques (#2633, #2634)

  • Trial’s TestCase now has an addCleanup method which allows easy setup of tear-down code (#2610, #2899)

  • Int8Receiver was added (#2315)

  • Various refactorings to AMP introduced better testability and public interfaces (#2657, #2667, #2656, #2664, #2810)

  • TestCase now has an assertWarns method which allows testing that functions emit warnings (#2626, #2703)

  • The reactor now has a blockingCallFromThread method for non-reactor threads to use to wait for a reactor-scheduled call to return a result (#1042, #3030)

  • There were improvements to the client howto (#222)

  • twisted.protocol.policies.TrafficLoggingFactory now has a resetCounter method (#2757)

  • Exceptions raised inside of inlineCallbacks-using functions now have a better chance of coming with a meaningful traceback (#2639, #2803)

  • Trial’s TestCase now has an assertIsInstance method (#2749)

  • PB now supports anonymous login (#439, #2312)

  • Trial’s memory footprint and speed are greatly improved (#2275)

  • The FTP client can be told which port range within which to bind passive transfer ports (#1904)

  • twisted.python.randbytes now contains code for generating secure random bytes (#2685)

  • At the end of trial runs, “PASSED” and “FAILED” messages are now colorized (#2856)

  • Tests which leave global state around in the reactor will now fail in trial. A new option, —unclean-warnings, will convert these errors back into warnings (#2091)

  • Trial now has a —without-module command line for testing code in an environment that lacks a particular Python module (#1795)

  • Error reporting of failed assertEquals assertions now has much nicer formatting (#2893)

  • Trial now has methods for monkey-patching (#2598)

  • Trial now has an ITestCase (#2898, #1950)

  • twisted.protocols.memcache contains a new asynchronous memcache client (#2506, #2957)

  • The trial reporter API now has a ‘done’ method which is called at the end of a test run (#2883)

  • The classes in twisted.application.internet now accept a reactor parameter for specifying the reactor to use for underlying calls to allow for better testability (#2937)

  • There are now no string exceptions in the entire Twisted code base (#2063)

  • There is now a system for specifying credentials checkers with a string (#2570)

  • twisted.spread.jelly now supports decimal objects (#2920)

  • twisted.spread.jelly now supports all forms of sets (#2958)

  • twisted.internet.task.deferLater is a new API for scheduling calls and getting deferreds which are fired with their results (#1875)

  • twistd can now profile with cProfile (#2469)

  • There is now an interface describing the API that process protocols must provide (#3020)

Исправления

  • Some tests which were asserting the value of stderr have been changed because Python uncontrollably writes bytes to stderr (#2405)
  • Log files handle time zones with DST better (#2404)
  • Subprocesses using PTYs on OS X that are handled by Twisted will now be able to more reliably write the final bytes before they exit, allowing Twisted code to more reliably receive them (#2371, #2858)
  • Trial unit test reporting has been improved (#1901)
  • The kqueue reactor handles connection failures better (#2172)
  • It’s now possible to run “trial foo/bar/” without an exception: trailing slashes no longer cause problems (#2005)
  • cred portals now better deal with implementations of inherited interfaces (#2523)
  • FTP error handling has been improved (#1160, 1107)
  • Trial behaves better with respect to file locking on Windows (#2482)
  • The FTP server now gives a better error when STOR is attempted during an anonymous session (#1575)
  • Trial now behaves better with tests that use the reactor’s threadpool (#1832)
  • twisted.python.reload now behaves better with new-style objects (#2297)
  • LogFile’s defaultMode parameter is now better implemented, preventing potential security exploits (#2586)
  • twisted.internet.abstract.isIPAddress no longer egregiously returns False for IP addresses with fewer than four parts (#2654)
  • A minor obscure leak in thread pools was corrected (#1134)
  • twisted.internet.task.Clock now returns the correct DelayedCall from callLater, instead of returning the one scheduled for the furthest in the future (#2691)
  • twisted.spread.util.FilePager no longer unnecessarily buffers data in memory (#1843, 2321)
  • Asking for twistd or trial to use an unavailable reactor no longer prints a traceback (#2457)
  • System event triggers have fewer obscure bugs (#2509)
  • Plugin discovery code is much better behaved, allowing multiple installations of a package with plugins (#2339, #2769)
  • Process and PTYProcess have been merged and some minor bugs have been fixed (#2341)
  • The reactor has less global state (#2545)
  • Failure can now correctly represent and format errors caused by string exceptions (#2830)
  • The epoll reactor now has better error handling which now avoids the bug causing 100% CPU usage in some cases (#2809)
  • Errors raised during trial setUp or tearDown methods are now handled better (#2837)
  • A problem when deferred callbacks add new callbacks to the deferred that they are a callback of was fixed (#2849)
  • Log messages that are emitted during connectionMade now have the protocol prefix correctly set (#2813)
  • The string representation of a TCP Server connection now contains the actual port that it’s bound to when it was configured to listen on port 0 (#2826)
  • There is better reporting of error codes for TCP failures on Windows (#2425)
  • Process spawning has been made slightly more robust by disabling garbage collection temporarily immediately after forking so that finalizers cannot be executed in an unexpected environment (#2483)
  • namedAny now detects import errors better (#698)
  • Many fixes and improvements to the twisted.python.zipstream module have been made (#2996)
  • FilePager no longer blows up on empty files (#3023)
  • twisted.python.util.FancyEqMixin has been improved to cooperate with objects of other types (#2944)
  • twisted.python.FilePath.exists now restats to prevent incorrect result (#2896)
  • twisted.python.util.mergeFunctionMetadata now also merges the module attribute (#3049)
  • It is now possible to call transport.pauseProducing within connectionMade on TCP transports without it being ignored (#1780)
  • twisted.python.versions now understands new SVN metadata format for fetching the SVN revision number (#3058)
  • It’s now possible to use reactor.callWhenRunning(reactor.stop) on gtk2 and glib2 reactors (#3011)


- twisted.python.timeoutqueue is now deprecated (#2536) - twisted.enterprise.row and twisted.enterprise.reflector are now deprecated (#2387) - twisted.enterprise.util is now deprecated (#3022) - The dispatch and dispatchWithCallback methods of ThreadPool are now deprecated (#2684) - Starting the same reactor multiple times is now deprecated (#1785) - The visit method of various test classes in trial has been deprecated (#2897) - The —report-profile option to twistd and twisted.python.dxprofile are deprecated (#2908) - The upDownError method of Trial reporters is deprecated (#2883)

Прочее


Add post to:   Yandex.ru Google Yahoo Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Memori.ru Myscoop.ru 100zakladok.ru Rucity.com Moemesto.ru News2.ru Delicious Reddit Slashdot Digg Technorati
Make comment

Comments

Nice site
Thanks, webmaster.


Required. 30 chars of fewer.

Required.

captcha image Please, enter symbols, which you see on the image