diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 1d929fa..b6d6224 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -14,8 +14,11 @@
 
 .. note::
 
-   In 3.x, names in ``camelCase`` have been renamed to their underscored
-   equivalents.  Both names are available in 2.6.
+   Some name ``camelCase`` names have been converted to their underscored
+   equivalents. Others have been replaced by properties.  Using the old methods
+   in 2.6 will trigger a :exc:`DeprecationWarning` when Python is run with the
+   :option:`-3` flag and a full :exc:`DeprecationWarning` in 3.0.  The old names
+   will be removed early in the 3.x series.
 
 This module defines the following functions and objects:
 
@@ -553,19 +556,19 @@
 
 Once the thread's activity is started, the thread is considered 'alive'. It
 stops being alive when its :meth:`run` method terminates -- either normally, or
-by raising an unhandled exception.  The :meth:`isAlive` method tests whether the
+by raising an unhandled exception.  The :meth:`is_alive` method tests whether the
 thread is alive.
 
 Other threads can call a thread's :meth:`join` method.  This blocks the calling
 thread until the thread whose :meth:`join` method is called is terminated.
 
-A thread has a name.  The name can be passed to the constructor, set with the
-:meth:`set_name` method, and retrieved with the :meth:`get_name` method.
+A thread has a name.  The name can be passed to the constructor, and read or
+changed through the :attr:`name` attribute.
 
 A thread can be flagged as a "daemon thread".  The significance of this flag is
 that the entire Python program exits when only daemon threads are left.  The
-initial value is inherited from the creating thread.  The flag can be set with
-the :meth:`set_daemon` method and retrieved with the :meth:`is_daemon` method.
+initial value is inherited from the creating thread.  The flag can be set
+through the :attr:`daemon` attribute.
 
 There is a "main thread" object; this corresponds to the initial thread of
 control in the Python program.  It is not a daemon thread.
@@ -645,18 +648,15 @@
    raises the same exception.
 
 
-.. method:: Thread.get_name()
-            Thread.getName()
+.. method:: Thread.getName()
+            Thread.setName()
 
-   Return the thread's name.
+   Old API for :attr:`~Thread.name`.
 
 
-.. method:: Thread.set_name(name)
-            Thread.setName(name)
+.. attribute:: Thread.name
 
-   Set the thread's name.
-
-   The name is a string used for identification purposes only. It has no semantics.
+   A string used for identification purposes only. It has no semantics.
    Multiple threads may be given the same name.  The initial name is set by the
    constructor.
 
@@ -682,17 +682,16 @@
    returns a list of all alive threads.
 
 
-.. method:: Thread.is_daemon()
-            Thread.isDaemon()
+.. method:: Thread.isDaemon()
+            Thread.setDaemon()
 
-   Return the thread's daemon flag.
+   Old API for :attr:`~Thread.daemon`.
 
 
-.. method:: Thread.set_daemon(daemonic)
-            Thread.setDaemon(daemonic)
+.. attribute:: Thread.daemon
 
-   Set the thread's daemon flag to the Boolean value *daemonic*. This must be
-   called before :meth:`start` is called, otherwise :exc:`RuntimeError` is raised.
+   The thread's daemon flag. This must be set before :meth:`start` is called,
+   otherwise :exc:`RuntimeError` is raised.
 
    The initial value is inherited from the creating thread.
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 1792d76..b179d40 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -669,7 +669,8 @@
 - The bundled OSX-specific copy of libbffi is now in sync with the version
   shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms.
 
-- The threading module gained alias for names that are removed in 3.x.
+- The threading module gained alias for names that will be removed in the 3.x
+  series.
 
 Build
 -----
