Manually merge r68096,68189 from 3.0 branch.
diff --git a/Misc/NEWS b/Misc/NEWS
index e0b9eec..2c59b00 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -92,9 +92,15 @@
 - Issue #4796: Added Decimal.from_float() and Context.create_decimal_from_float()
   to the decimal module.
 
+- Fractions.from_float() no longer loses precision for integers too big to
+  cast as floats.
+
 - Issue #4812: add missing underscore prefix to some internal-use-only
   constants in the decimal module.  (Dec_0 becomes _Dec_0, etc.)
 
+- Issue 4790: The nsmallest() and nlargest() functions in the heapq module
+  did unnecessary work in the common case where no key function was specified.
+
 - Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case 
   no MSVC compiler is found under Windows. Original patch by Philip Jenvey.