@@ -1477,6 +1477,114 @@ handlers should set the parent header and publish status busy / idle,
1477
1477
just like an execute request.
1478
1478
1479
1479
1480
+ Changelog
1481
+ =========
1482
+
1483
+ 5.5 (draft)
1484
+ -----------
1485
+
1486
+ - Added ``debug_request/reply `` messages
1487
+ - Added ``debug_event `` message
1488
+
1489
+ 5.4
1490
+ ---
1491
+
1492
+ - Sending a ``shutdown_request `` message on the ``shell `` channel is deprecated.
1493
+ It should be sent on the control channel.
1494
+
1495
+ 5.3
1496
+ ---
1497
+
1498
+ - Kernels can now opt to be interrupted by a message sent on the control channel
1499
+ instead of a system signal. See :ref: `kernelspecs ` and :ref: `msging_interrupt `.
1500
+
1501
+ 5.2
1502
+ ---
1503
+
1504
+ - Resolve ambiguity of ``cursor_pos `` field in the presence
1505
+ of unicode surrogate pairs.
1506
+ In 5.2, cursor_pos **must be ** the actual encoding-independent offset in unicode codepoints.
1507
+
1508
+ .. seealso ::
1509
+
1510
+ :ref: `cursor_pos_unicode_note `
1511
+
1512
+ 5.1
1513
+ ---
1514
+
1515
+ - ``date `` in the header was accidentally omitted from the spec prior to 5.1,
1516
+ but it has always been in the canonical implementation,
1517
+ so implementers are strongly encouraged to include it.
1518
+ It is mandatory in 5.1.
1519
+ - ``status='abort' `` in replies has not proved useful, and is considered deprecated.
1520
+ Kernels should send ``status='error' `` instead.
1521
+ - ``comm_info_request/reply `` added
1522
+ - ``connect_request/reply `` have not proved useful, and are considered deprecated.
1523
+ Kernels are not expected to implement handlers for this message.
1524
+ - new ``transient `` field in ``display_data ``
1525
+ - new ``update_display_data `` message
1526
+
1527
+ 5.0
1528
+ ---
1529
+
1530
+ General changes:
1531
+
1532
+ - ``version `` key added to message headers
1533
+ - busy and idle status messages should be sent before/after handling every request,
1534
+ not just execution
1535
+
1536
+ Message renames to remove Python-specific-ness:
1537
+
1538
+ - ``pyin `` message renamed to ``execute_input ``
1539
+ - ``pyerr `` renamed to ``error ``
1540
+ - ``object_info_request/reply `` messages renamed to ``inspect_request/reply ``
1541
+
1542
+ Kernel info:
1543
+
1544
+ - versions changed from lists of integers to strings
1545
+ - ``ipython_version `` is removed
1546
+ - ``language_info ``, ``implementation ``, ``implementation_version ``, ``banner ``
1547
+ and ``help_links `` keys are added.
1548
+ - ``language_version `` is moved to ``language_info.version ``
1549
+ - ``language `` is moved to ``language_info.name ``
1550
+
1551
+ Execution:
1552
+
1553
+ - ``user_variables `` is removed from ``execute_request/reply `` because it is redundant with ``user_expressions ``
1554
+ - ``password `` key added to ``input_request ``
1555
+
1556
+ Output:
1557
+
1558
+ - ``data `` key in stream messages renamed to ``text `` for consistency with the notebook format.
1559
+ - ``application/json `` in mimebundles should be unpacked JSON data,
1560
+ not a double-serialized JSON strong.
1561
+
1562
+ Inspection:
1563
+
1564
+ - ``name `` key in ``inspect_request `` replaced with ``code `` and ``cursor_pos ``,
1565
+ moving the lexing responsibility to the kernel.
1566
+ - ``object_info_reply `` is now a mimebundle,
1567
+ allowing formatting decisions to be made by the kernel.
1568
+
1569
+ Completion:
1570
+
1571
+ - ``complete_request ``: ``line ``, ``block ``, and ``text `` keys are removed in favor of a single ``code `` for context.
1572
+ Lexing is up to the kernel.
1573
+ - ``complete_reply ``:
1574
+ - ``matched_text `` is removed in favor of ``cursor_start `` and ``cursor_end ``.
1575
+ - ``metadata `` is added for extended information.
1576
+ - new ``is_complete_request `` and ``is_complete_reply `` messages
1577
+
1578
+ 4.1
1579
+ ---
1580
+
1581
+ - ``comm_open/close/msg `` messages added
1582
+ - ``clear_output ``: ``stdout ``, ``stderr ``, and ``display `` boolean keys for selective clearing are removed,
1583
+ and ``wait `` is added.
1584
+ The selective clearing keys are ignored in v4 and the default behavior remains the same,
1585
+ so v4 clear_output messages will be safely handled by a v4.1 frontend.
1586
+
1587
+
1480
1588
Notes
1481
1589
=====
1482
1590
0 commit comments