Hello community,

here is the log from the commit of package python-ipython for openSUSE:Factory 
checked in at 2020-02-14 16:25:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ipython (Old)
 and      /work/SRC/openSUSE:Factory/.python-ipython.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-ipython"

Fri Feb 14 16:25:18 2020 rev:6 rq:773064 version:7.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ipython/python-ipython-doc.changes        
2020-01-19 21:00:24.860144069 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-ipython.new.26092/python-ipython-doc.changes 
    2020-02-14 16:25:20.795189741 +0100
@@ -1,0 +2,13 @@
+Sat Feb  8 22:41:18 UTC 2020 - Arun Persaud <[email protected]>
+
+- update to version 7.12.0:
+  * Exit non-zero when ipython is given a file path to run that
+    doesn't exist :ghpull:`12074`
+  * Test PR on ARM64 with Travis-CI :ghpull:`12073`
+  * Update CI to work with latest Pytest :ghpull:`12086`
+  * Add infrastructure to run ipykernel eventloop via trio
+    :ghpull:`12097`
+  * Support git blame ignore revs :ghpull:`12091`
+  * Start multi-line __repr__ s on their own line :ghpull:`12099`
+
+-------------------------------------------------------------------
python-ipython.changes: same change

Old:
----
  ipython-7.11.1.pdf
  ipython-7.11.1.tar.gz
  ipython-7.11.1.zip

New:
----
  ipython-7.12.0.pdf
  ipython-7.12.0.tar.gz
  ipython-7.12.0.zip

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-ipython-doc.spec ++++++
--- /var/tmp/diff_new_pack.YXh8nF/_old  2020-02-14 16:25:23.231191063 +0100
+++ /var/tmp/diff_new_pack.YXh8nF/_new  2020-02-14 16:25:23.231191063 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-ipython-doc
 #
-# Copyright (c) 2020 SUSE LLC.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,9 +19,9 @@
 # This package has to be kept separate from the main package to avoid
 # dependency loops with most of the core jupyter packages.
 %define         oldpython python
-%define doc_ver 7.11.1
+%define doc_ver 7.12.0
 Name:           python-ipython-doc
-Version:        7.11.1
+Version:        7.12.0
 Release:        0
 Summary:        Documentation for python3-jupyter_ipython
 License:        BSD-3-Clause

++++++ python-ipython.spec ++++++
--- /var/tmp/diff_new_pack.YXh8nF/_old  2020-02-14 16:25:23.243191070 +0100
+++ /var/tmp/diff_new_pack.YXh8nF/_new  2020-02-14 16:25:23.243191070 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-ipython
 #
-# Copyright (c) 2020 SUSE LLC.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 %define         skip_python2 1
 %bcond_without  iptest
 Name:           python-ipython
-Version:        7.11.1
+Version:        7.12.0
 Release:        0
 Summary:        Rich architecture for interactive computing with Python
 License:        BSD-3-Clause


++++++ ipython-7.11.1.pdf -> ipython-7.12.0.pdf ++++++
(binary differes)

++++++ ipython-7.11.1.tar.gz -> ipython-7.12.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/core/async_helpers.py 
new/ipython-7.12.0/IPython/core/async_helpers.py
--- old/ipython-7.11.1/IPython/core/async_helpers.py    2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/IPython/core/async_helpers.py    2020-02-01 
02:06:52.000000000 +0100
@@ -146,20 +146,20 @@
 
     If it works, assume it should be async. Otherwise Return False.
 
-    Not handled yet: If the block of code has a return statement as  the top
+    Not handled yet: If the block of code has a return statement as the top
     level, it will be seen as async. This is a know limitation.
     """
     if sys.version_info > (3, 8):
         try:
             code = compile(cell, "<>", "exec", 
flags=getattr(ast,'PyCF_ALLOW_TOP_LEVEL_AWAIT', 0x0))
             return inspect.CO_COROUTINE & code.co_flags == inspect.CO_COROUTINE
-        except SyntaxError:
+        except (SyntaxError, MemoryError):
             return False
     try:
         # we can't limit ourself to ast.parse, as it __accepts__ to parse on
         # 3.7+, but just does not _compile_
         code = compile(cell, "<>", "exec")
-    except SyntaxError:
+    except (SyntaxError, MemoryError):
         try:
             parse_tree = _async_parse_cell(cell)
 
@@ -167,7 +167,7 @@
             v = _AsyncSyntaxErrorVisitor()
             v.visit(parse_tree)
 
-        except SyntaxError:
+        except (SyntaxError, MemoryError):
             return False
         return True
     return False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/core/hooks.py 
new/ipython-7.12.0/IPython/core/hooks.py
--- old/ipython-7.11.1/IPython/core/hooks.py    2019-12-28 10:53:03.000000000 
+0100
+++ new/ipython-7.12.0/IPython/core/hooks.py    2020-02-01 02:06:52.000000000 
+0100
@@ -37,7 +37,6 @@
 
 import os
 import subprocess
-import warnings
 import sys
 
 from .error import TryNext
@@ -82,44 +81,6 @@
     if wait and proc.wait() != 0:
         raise TryNext()
 
-import tempfile
-from ..utils.decorators import undoc
-
-@undoc
-def fix_error_editor(self,filename,linenum,column,msg):
-    """DEPRECATED
-
-    Open the editor at the given filename, linenumber, column and
-    show an error message. This is used for correcting syntax errors.
-    The current implementation only has special support for the VIM editor,
-    and falls back on the 'editor' hook if VIM is not used.
-
-    Call ip.set_hook('fix_error_editor',yourfunc) to use your own function,
-    """
-
-    warnings.warn("""
-`fix_error_editor` is deprecated as of IPython 6.0 and will be removed
-in future versions. It appears to be used only for automatically fixing syntax
-error that has been broken for a few years and has thus been removed. If you
-happened to use this function and still need it please make your voice heard on
-the mailing list [email protected] , or on the GitHub Issue tracker:
-https://github.com/ipython/ipython/issues/9649 """, UserWarning)
-
-    def vim_quickfix_file():
-        t = tempfile.NamedTemporaryFile()
-        t.write('%s:%d:%d:%s\n' % (filename,linenum,column,msg))
-        t.flush()
-        return t
-    if os.path.basename(self.editor) != 'vim':
-        self.hooks.editor(filename,linenum)
-        return
-    t = vim_quickfix_file()
-    try:
-        if os.system('vim --cmd "set errorformat=%f:%l:%c:%m" -q ' + t.name):
-            raise TryNext()
-    finally:
-        t.close()
-
 
 def synchronize_with_editor(self, filename, linenum, column):
         pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/core/interactiveshell.py 
new/ipython-7.12.0/IPython/core/interactiveshell.py
--- old/ipython-7.11.1/IPython/core/interactiveshell.py 2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/IPython/core/interactiveshell.py 2020-02-01 
02:06:52.000000000 +0100
@@ -695,6 +695,13 @@
         self.events.trigger('shell_initialized', self)
         atexit.register(self.atexit_operations)
 
+        # The trio runner is used for running Trio in the foreground thread. It
+        # is different from `_trio_runner(async_fn)` in `async_helpers.py`
+        # which calls `trio.run()` for every cell. This runner runs all cells
+        # inside a single Trio event loop. If used, it is set from
+        # `ipykernel.kernelapp`.
+        self.trio_runner = None
+
     def get_ipython(self):
         """Return the currently running IPython instance."""
         return self
@@ -715,6 +722,9 @@
         else:
             self.autoindent = value
 
+    def set_trio_runner(self, tr):
+        self.trio_runner = tr
+
     #-------------------------------------------------------------------------
     # init_* methods called by __init__
     #-------------------------------------------------------------------------
@@ -2865,7 +2875,9 @@
         # when this is the case, we want to run it using the pseudo_sync_runner
         # so that code can invoke eventloops (for example via the %run , and
         # `%paste` magic.
-        if self.should_run_async(raw_cell):
+        if self.trio_runner:
+            runner = self.trio_runner
+        elif self.should_run_async(raw_cell):
             runner = self.loop_runner
         else:
             runner = _pseudo_sync_runner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/core/pylabtools.py 
new/ipython-7.12.0/IPython/core/pylabtools.py
--- old/ipython-7.11.1/IPython/core/pylabtools.py       2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/IPython/core/pylabtools.py       2020-02-01 
02:06:52.000000000 +0100
@@ -123,14 +123,18 @@
     }
     # **kwargs get higher priority
     kw.update(kwargs)
-    
+
     bytes_io = BytesIO()
+    if fig.canvas is None:
+        from matplotlib.backend_bases import FigureCanvasBase
+        FigureCanvasBase(fig)
+
     fig.canvas.print_figure(bytes_io, **kw)
     data = bytes_io.getvalue()
     if fmt == 'svg':
         data = data.decode('utf-8')
     return data
-    
+
 def retina_figure(fig, **kwargs):
     """format a figure as a pixel-doubled (retina) PNG"""
     pngdata = print_figure(fig, fmt='retina', **kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/core/release.py 
new/ipython-7.12.0/IPython/core/release.py
--- old/ipython-7.11.1/IPython/core/release.py  2020-01-01 18:33:40.000000000 
+0100
+++ new/ipython-7.12.0/IPython/core/release.py  2020-02-01 02:39:06.000000000 
+0100
@@ -20,8 +20,8 @@
 # release.  'dev' as a _version_extra string means this is a development
 # version
 _version_major = 7
-_version_minor = 11
-_version_patch = 1
+_version_minor = 12
+_version_patch = 0
 _version_extra = '.dev'
 # _version_extra = 'b1'
 _version_extra = ''  # Uncomment this for full releases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/core/shellapp.py 
new/ipython-7.12.0/IPython/core/shellapp.py
--- old/ipython-7.11.1/IPython/core/shellapp.py 2019-12-28 10:53:03.000000000 
+0100
+++ new/ipython-7.12.0/IPython/core/shellapp.py 2020-02-01 02:06:52.000000000 
+0100
@@ -404,6 +404,9 @@
             fname = self.file_to_run
             if os.path.isdir(fname):
                 fname = os.path.join(fname, "__main__.py")
+            if not os.path.exists(fname):
+                self.log.warning("File '%s' doesn't exist", fname)
+                self.exit(2)
             try:
                 self._exec_file(fname, shell_futures=True)
             except:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ipython-7.11.1/IPython/core/tests/test_async_helpers.py 
new/ipython-7.12.0/IPython/core/tests/test_async_helpers.py
--- old/ipython-7.11.1/IPython/core/tests/test_async_helpers.py 2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/IPython/core/tests/test_async_helpers.py 2020-02-01 
02:06:52.000000000 +0100
@@ -276,6 +276,10 @@
         """
         )
 
+    def test_memory_error(self):
+        with self.assertRaises(MemoryError):
+            iprc("(" * 200 + ")" * 200)
+
     @skip_without('curio')
     def test_autoawait_curio(self):
         iprc("%autoawait curio")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/core/tests/test_pylabtools.py 
new/ipython-7.12.0/IPython/core/tests/test_pylabtools.py
--- old/ipython-7.11.1/IPython/core/tests/test_pylabtools.py    2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/IPython/core/tests/test_pylabtools.py    2020-02-01 
02:06:52.000000000 +0100
@@ -248,3 +248,9 @@
 def test_no_gui_backends():
     for k in ['agg', 'svg', 'pdf', 'ps']:
         assert k not in pt.backend2gui
+
+
+def test_figure_no_canvas():
+    fig = Figure()
+    fig.canvas = None
+    pt.print_figure(fig)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/core/tests/test_ultratb.py 
new/ipython-7.12.0/IPython/core/tests/test_ultratb.py
--- old/ipython-7.11.1/IPython/core/tests/test_ultratb.py       2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/IPython/core/tests/test_ultratb.py       2020-02-01 
02:06:52.000000000 +0100
@@ -253,6 +253,13 @@
                 ip.showsyntaxerror()
 
 
+class MemoryErrorTest(unittest.TestCase):
+    def test_memoryerror(self):
+        memoryerror_code = "(" * 200 + ")" * 200
+        with tt.AssertPrints("MemoryError"):
+            ip.run_cell(memoryerror_code)
+
+
 class Python3ChainedExceptionsTest(unittest.TestCase):
     DIRECT_CAUSE_ERROR_CODE = """
 try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/lib/pretty.py 
new/ipython-7.12.0/IPython/lib/pretty.py
--- old/ipython-7.11.1/IPython/lib/pretty.py    2019-12-28 10:53:03.000000000 
+0100
+++ new/ipython-7.12.0/IPython/lib/pretty.py    2020-02-01 02:06:52.000000000 
+0100
@@ -196,19 +196,22 @@
         self.group_queue = GroupQueue(root_group)
         self.indentation = 0
 
+    def _break_one_group(self, group):
+        while group.breakables:
+            x = self.buffer.popleft()
+            self.output_width = x.output(self.output, self.output_width)
+            self.buffer_width -= x.width
+        while self.buffer and isinstance(self.buffer[0], Text):
+            x = self.buffer.popleft()
+            self.output_width = x.output(self.output, self.output_width)
+            self.buffer_width -= x.width
+
     def _break_outer_groups(self):
         while self.max_width < self.output_width + self.buffer_width:
             group = self.group_queue.deq()
             if not group:
                 return
-            while group.breakables:
-                x = self.buffer.popleft()
-                self.output_width = x.output(self.output, self.output_width)
-                self.buffer_width -= x.width
-            while self.buffer and isinstance(self.buffer[0], Text):
-                x = self.buffer.popleft()
-                self.output_width = x.output(self.output, self.output_width)
-                self.buffer_width -= x.width
+            self._break_one_group(group)
 
     def text(self, obj):
         """Add literal text to the output."""
@@ -248,6 +251,9 @@
         """
         Explicitly insert a newline into the output, maintaining correct 
indentation.
         """
+        group = self.group_queue.deq()
+        if group:
+            self._break_one_group(group)
         self.flush()
         self.output.write(self.newline)
         self.output.write(' ' * self.indentation)
@@ -687,10 +693,12 @@
     """A pprint that just redirects to the normal repr function."""
     # Find newlines and replace them with p.break_()
     output = repr(obj)
-    for idx,output_line in enumerate(output.splitlines()):
-        if idx:
-            p.break_()
-        p.text(output_line)
+    lines = output.splitlines()
+    with p.group():
+        for idx, output_line in enumerate(lines):
+            if idx:
+                p.break_()
+            p.text(output_line)
 
 
 def _function_pprint(obj, p, cycle):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/lib/tests/test_pretty.py 
new/ipython-7.12.0/IPython/lib/tests/test_pretty.py
--- old/ipython-7.11.1/IPython/lib/tests/test_pretty.py 2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/IPython/lib/tests/test_pretty.py 2020-02-01 
02:06:52.000000000 +0100
@@ -68,11 +68,6 @@
     def __repr__(self):
         return "Breaking(\n)"
 
-class BreakingReprParent(object):
-    def _repr_pretty_(self, p, cycle):
-        with p.group(4,"TG: ",":"):
-            p.pretty(BreakingRepr())
-
 class BadRepr(object):
     
     def __repr__(self):
@@ -151,8 +146,12 @@
     """
     Test that p.break_ is used in repr
     """
-    output = pretty.pretty(BreakingReprParent())
-    expected = "TG: Breaking(\n    ):"
+    output = pretty.pretty([[BreakingRepr()]])
+    expected = "[[Breaking(\n  )]]"
+    nt.assert_equal(output, expected)
+
+    output = pretty.pretty([[BreakingRepr()]*2])
+    expected = "[[Breaking(\n  ),\n  Breaking(\n  )]]"
     nt.assert_equal(output, expected)
 
 def test_bad_repr():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/utils/_sysinfo.py 
new/ipython-7.12.0/IPython/utils/_sysinfo.py
--- old/ipython-7.11.1/IPython/utils/_sysinfo.py        2020-01-01 
18:33:54.000000000 +0100
+++ new/ipython-7.12.0/IPython/utils/_sysinfo.py        2020-02-01 
02:39:39.000000000 +0100
@@ -1,2 +1,2 @@
 # GENERATED BY setup.py
-commit = u"3544c180b"
+commit = u"8bda98619"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/IPython/utils/py3compat.py 
new/ipython-7.12.0/IPython/utils/py3compat.py
--- old/ipython-7.11.1/IPython/utils/py3compat.py       2019-12-28 
11:00:54.000000000 +0100
+++ new/ipython-7.12.0/IPython/utils/py3compat.py       2020-02-01 
02:06:52.000000000 +0100
@@ -169,9 +169,6 @@
 
 # Refactor print statements in doctests.
 _print_statement_re = re.compile(r"\bprint (?P<expr>.*)$", re.MULTILINE)
-def _print_statement_sub(match):
-    expr = match.groups('expr')
-    return "print(%s)" % expr
 
 # Abstract u'abc' syntax:
 @_modify_str_or_docstring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/MANIFEST.in 
new/ipython-7.12.0/MANIFEST.in
--- old/ipython-7.11.1/MANIFEST.in      2019-12-28 10:53:03.000000000 +0100
+++ new/ipython-7.12.0/MANIFEST.in      2020-02-01 02:06:52.000000000 +0100
@@ -24,6 +24,8 @@
 exclude docs/\#*
 exclude docs/man/*.1.gz
 
+exclude .git-blame-ignore-revs
+
 # Examples
 graft examples
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/PKG-INFO new/ipython-7.12.0/PKG-INFO
--- old/ipython-7.11.1/PKG-INFO 2020-01-01 18:33:54.000000000 +0100
+++ new/ipython-7.12.0/PKG-INFO 2020-02-01 02:39:39.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: ipython
-Version: 7.11.1
+Version: 7.12.0
 Summary: IPython: Productive Interactive Computing
 Home-page: https://ipython.org
 Author: The IPython Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/README.rst 
new/ipython-7.12.0/README.rst
--- old/ipython-7.11.1/README.rst       2019-12-28 10:53:03.000000000 +0100
+++ new/ipython-7.12.0/README.rst       2020-02-01 02:06:52.000000000 +0100
@@ -129,3 +129,18 @@
 - `mypython <https://www.asmeurer.com/mypython/>`_
 - `ptpython and ptipython <https://pypi.org/project/ptpython/>`
 - `xonsh <https://xon.sh/>`
+
+Ignoring commits with git blame.ignoreRevsFile
+==============================================
+
+As of git 2.23, it is possible to make formatting changes without breaking
+``git blame``. See the `git documentation
+<https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile>`_
+for more details.
+
+To use this feature you must:
+
+- Install git >= 2.23
+- Configure your local git repo by running:
+   - POSIX: ``tools\configure-git-blame-ignore-revs.sh``
+   - Windows:  ``tools\configure-git-blame-ignore-revs.bat``
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/docs/source/conf.py 
new/ipython-7.12.0/docs/source/conf.py
--- old/ipython-7.11.1/docs/source/conf.py      2019-12-28 10:53:03.000000000 
+0100
+++ new/ipython-7.12.0/docs/source/conf.py      2020-01-07 16:43:21.000000000 
+0100
@@ -223,7 +223,7 @@
 htmlhelp_basename = 'ipythondoc'
 
 intersphinx_mapping = {'python': ('https://docs.python.org/3/', None),
-                       'rpy2': 
('https://rpy2.readthedocs.io/en/version_2.8.x/', None),
+                       'rpy2': ('https://rpy2.readthedocs.io/en/latest/', 
None),
                        'jupyterclient': 
('https://jupyter-client.readthedocs.io/en/latest/', None),
                        'jupyter': 
('https://jupyter.readthedocs.io/en/latest/', None),
                        'jedi': ('https://jedi.readthedocs.io/en/latest/', 
None),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/docs/source/interactive/reference.rst 
new/ipython-7.12.0/docs/source/interactive/reference.rst
--- old/ipython-7.11.1/docs/source/interactive/reference.rst    2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/docs/source/interactive/reference.rst    2020-02-01 
02:06:52.000000000 +0100
@@ -77,8 +77,8 @@
 Caution for Windows users
 -------------------------
 
-Windows, unfortunately, uses the '\\' character as a path separator. This is a
-terrible choice, because '\\' also represents the escape character in most
+Windows, unfortunately, uses the ``\`` character as a path separator. This is a
+terrible choice, because ``\`` also represents the escape character in most
 modern programming languages, including Python. For this reason, using '/'
 character is recommended if you have problems with ``\``.  However, in Windows
 commands '/' flags options, so you can not use it for the root directory. This
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ipython-7.11.1/docs/source/whatsnew/github-stats-7.rst 
new/ipython-7.12.0/docs/source/whatsnew/github-stats-7.rst
--- old/ipython-7.11.1/docs/source/whatsnew/github-stats-7.rst  2019-12-28 
10:53:03.000000000 +0100
+++ new/ipython-7.12.0/docs/source/whatsnew/github-stats-7.rst  2020-02-01 
02:35:34.000000000 +0100
@@ -1,6 +1,30 @@
 Issues closed in the 7.x development cycle
 ==========================================
 
+Issues closed in 7.12
+---------------------
+
+GitHub stats for 2020/01/01 - 2020/01/31 (tag: 7.11.1)
+
+These lists are automatically generated, and may be incomplete or contain 
duplicates.
+
+We closed 2 issues and merged 14 pull requests.
+The full list can be seen `on GitHub 
<https://github.com/ipython/ipython/issues?q=milestone%3A7.12>`__
+
+The following 11 authors contributed 48 commits.
+
+* Augusto
+* Eric Wieser
+* Jeff Potter
+* Mark E. Haase
+* Matthias Bussonnier
+* ossdev07
+* ras44
+* takuya fujiwara
+* Terry Davis
+* Thomas A Caswell
+* yangyang
+
 Issues closed in 7.11
 ---------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/docs/source/whatsnew/version7.rst 
new/ipython-7.12.0/docs/source/whatsnew/version7.rst
--- old/ipython-7.11.1/docs/source/whatsnew/version7.rst        2020-01-01 
18:29:53.000000000 +0100
+++ new/ipython-7.12.0/docs/source/whatsnew/version7.rst        2020-02-01 
02:24:41.000000000 +0100
@@ -2,6 +2,23 @@
  7.x Series
 ============
 
+.. _version 712:
+
+IPython 7.12
+============
+
+IPython 7.12 is a minor update that mostly brings code cleanup, removal of
+longtime deprecated function and a couple update to documentation cleanup as 
well.
+
+Notable changes are the following:
+
+ - Exit non-zero when ipython is given a file path to run that doesn't exist 
:ghpull:`12074`
+ - Test PR on ARM64 with Travis-CI :ghpull:`12073`
+ - Update CI to work with latest Pytest :ghpull:`12086`
+ - Add infrastructure to run ipykernel eventloop via trio :ghpull:`12097`
+ - Support git blame ignore revs :ghpull:`12091`
+ - Start multi-line ``__repr__`` s on their own line :ghpull:`12099`
+
 .. _version 7111:
 
 IPython 7.11.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipython-7.11.1/pytest.ini 
new/ipython-7.12.0/pytest.ini
--- old/ipython-7.11.1/pytest.ini       2019-12-28 10:53:03.000000000 +0100
+++ new/ipython-7.12.0/pytest.ini       2020-02-01 02:06:52.000000000 +0100
@@ -1,2 +1,2 @@
 [pytest]
-addopts = --duration=10
+addopts = --durations=10


Reply via email to