1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986
|
pyqtgraph-0.14.0
## What's Changed
### Highlights
* implement cuda OpenGL interops by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3379
* PColorMeshItem: implement opengl rendering by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3090
* Port PlotCurveItem experimental opengl codepath to shaders by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3055
* Remove MetaArray, MultiPlotItem and MultiPlotWidget by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3051
* Add Boxplot feature by @noonchen in https://github.com/pyqtgraph/pyqtgraph/pull/2562
* Unvendor very old colorama by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3064
* implement fill for connect="finite" by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3071
* Add legend double-click and legend sample click signals. by @kevinanewman in https://github.com/pyqtgraph/pyqtgraph/pull/3111
* pcmi: add support for OpenGL ES 3.0 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3094
* Bump min numpy to 1.25+ by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3241
* Create FUNDING.yml by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3034
### API/Behavior Changes and Additions
* GLMeshItem: allow ubyte color buffers by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3231
* Allow OpenGL without enableExperimental by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3277
* Do away with Parameter deprecation by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3286
* Transform3D.map should return the type of obj passed in by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/3050
* Remove MetaArray, MultiPlotItem and MultiPlotWidget by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3051
* Remove canvas module by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3056
* implement fill for connect="finite" by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3071
* Raise ParseError on duplicate keys in configfile by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/3121
* Add legend double-click and legend sample click signals. by @kevinanewman in https://github.com/pyqtgraph/pyqtgraph/pull/3111
* Parameter Tree: ListParameter: Add deprecation warning when values is present. by @Tillsten in https://github.com/pyqtgraph/pyqtgraph/pull/3160
* allow conditional siPrefixing of axis labels by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/3136
* PlotItem.autoBtnClicked to emit PlotItem.sigRangeChangedManually by @tikuma-lsuhsc in https://github.com/pyqtgraph/pyqtgraph/pull/3049
* add setSymbol method by @kevinanewman in https://github.com/pyqtgraph/pyqtgraph/pull/3180
* Option to execute repl commands in a non-GUI thread by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/3130
* AxisItem: Allow hiding minor ticks by @2xB in https://github.com/pyqtgraph/pyqtgraph/pull/3318
* allow returned camera params to be set back by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3408
* Plot option to subtract mean value from all samples by @wetzeld in https://github.com/pyqtgraph/pyqtgraph/pull/3240
* Locale aware spinbox by @oyvindlr in https://github.com/pyqtgraph/pyqtgraph/pull/3414
* Parameter: define create as a classmethod by @seb5g in https://github.com/pyqtgraph/pyqtgraph/pull/3403
* Add overlay grid option to GLSurfacePlotItem by @swvanbuuren in https://github.com/pyqtgraph/pyqtgraph/pull/3349
* Alignment option for GLTextItem by @swvanbuuren in https://github.com/pyqtgraph/pyqtgraph/pull/3314
### Bug Fixes
* Correctly handle SI-prefixes for nonlinear units by @oyvindlr in https://github.com/pyqtgraph/pyqtgraph/pull/3394
* fix aspect-locked zoom with mouse-drag while right-button pressed by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3354
* fix: isnan is not available in OpenGL 2.1 nor OpenGL ES 2.0 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3248
* fix: GL_POINT_SPRITE was not enabled for NoProfile by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3236
* Fix LinearRegionItem mouseDragEvent by @dingo9 in https://github.com/pyqtgraph/pyqtgraph/pull/3168
* render comparison: resize before show by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3415
* fix: GLLinePlotItem uploading vbo perpetually by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3297
* Various OpenGL fixes by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3260
* Support downsampling of image data with NaNs by @nup002 in https://github.com/pyqtgraph/pyqtgraph/pull/3061
* Catch SystemError During Signal.disconnect() by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3021
* RawImageGLWidget: update uploaded state on cleanup by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3043
* enable blending to take into account alpha transparency by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3045
* Fixes: Error when using FFT on data with one point by @Silas-K in https://github.com/pyqtgraph/pyqtgraph/pull/3070
* Fix ViewBox wheel event propagation by @tikuma-lsuhsc in https://github.com/pyqtgraph/pyqtgraph/pull/3052
* bugfix: PlotCurveItem OpenGL didn't invalidate render_cache on cleanup by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3089
* Format DateAxisItem ticks in different timezones correctly by @Gatsik in https://github.com/pyqtgraph/pyqtgraph/pull/3083
* fix ComboBox.items() by @MrHenning in https://github.com/pyqtgraph/pyqtgraph/pull/3113
* connect darkMode slots only once by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3145
* Minor fixes for a memory debugging tool by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/3158
* ParseError line numbers should account for empty lines by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/3131
* workaround PySide QByteArray leak on conda builds by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3268
* Fix ConsoleWidget ReplWidget.write() always scrolling to bottom (`scrollToBottom` not working) by @jack-mil in https://github.com/pyqtgraph/pyqtgraph/pull/3140
* initialize the pressPos attribute with default value to prevent error by @seb5g in https://github.com/pyqtgraph/pyqtgraph/pull/3177
* Apoptose dock area when temporary window is closed by @UsYer in https://github.com/pyqtgraph/pyqtgraph/pull/3134
* Fix bug in PlotItem.setAxisItem when called befor scene is set by @tblum in https://github.com/pyqtgraph/pyqtgraph/pull/3182
* Emit sigRegionChanged only once for LinearRegionItem by @jdranczewski in https://github.com/pyqtgraph/pyqtgraph/pull/3291
* Removes GraphicsScene.mouseMoveEvent duplicate events by @boringbyte in https://github.com/pyqtgraph/pyqtgraph/pull/3189
* Fix 'GridItem.generatePicture' for cases of invalid size by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/3284
* Fix scaling with locked aspect by @a17sol in https://github.com/pyqtgraph/pyqtgraph/pull/3100
* Update removeItem() by @psyuktha in https://github.com/pyqtgraph/pyqtgraph/pull/3167
* GLLinePlotItem: restore changes to state by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3223
* PlotDataItem setData() listOfDicts fix? by @kevinanewman in https://github.com/pyqtgraph/pyqtgraph/pull/3190
* To align mark and the label vertically in a Legend by @jiban in https://github.com/pyqtgraph/pyqtgraph/pull/3206
* Fix bug causing DateTimeAxis to not display tick labels #3185 by @tblum in https://github.com/pyqtgraph/pyqtgraph/pull/3187
* Update syntax.py to correctly colorize commented code by @kevinanewman in https://github.com/pyqtgraph/pyqtgraph/pull/3339
* Fix bug preventing console showing more than one uncaught exception by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/3309
* fixed the issue where x and y column would be added regardless of the columnMode while exporting to csv by @virgile-hernicot in https://github.com/pyqtgraph/pyqtgraph/pull/3215
* GraphicsLayout: Fix removeItem() regression by @dnadlinger in https://github.com/pyqtgraph/pyqtgraph/pull/3226
* fix GLIsosurface overflow warning on numpy 2 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3235
* Fix parameter item compare unpack order by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3264
* Fix recarray support in PlotDataItem by @ixjlyons in https://github.com/pyqtgraph/pyqtgraph/pull/3278
* Two minor corrections in flowchart and debug by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/3399
* Fix exception when AxisItem is initialized with text argument (fixes #3410) by @simonkeys in https://github.com/pyqtgraph/pyqtgraph/pull/3412
* ensure comparison returns bool instead of np.bool in TableWidget by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3333
* fix: blockSignal=True in Parameter.setValue() by @cogsy23 in https://github.com/pyqtgraph/pyqtgraph/pull/3305
### Performance Improvements
* invalidate nan locations when downsampling image by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3368
* ImageItem: implement persistent default autolevels by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2883
* finer grained VBO upload by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3298
* Skip nan values in mesh by @sldesnoo-Delft in https://github.com/pyqtgraph/pyqtgraph/pull/3114
* Fixed bug that significantly degraded zooming performance for line plots by @oyvindlr in https://github.com/pyqtgraph/pyqtgraph/pull/3330
* use native c++ construction of QPixmap from QImage by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3208
* implement cuda OpenGL interops by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3379
* Port PlotCurveItem experimental opengl codepath to shaders by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3055
* PlotCurveItem: implement OpenGL curve fill by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3068
* PColorMeshItem: implement opengl rendering by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3090
* pcmi: add support for OpenGL ES 3.0 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3094
* De-ancient-ify OpenGL shaders by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3109
* prevent grid lines from getting mouse events by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3152
* Make PlotCurveItem and PColorMeshItem work in Core Profile by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3257
* Lazy evaluation of mkColor error string by @jdranczewski in https://github.com/pyqtgraph/pyqtgraph/pull/3292
* Make shaders in shaders.py run on macOS OpenGL 4.1 Core by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3256
* ViewBox: Only update auto-range before painting. by @agausmann in https://github.com/pyqtgraph/pyqtgraph/pull/2947
* create a default VAO if using Core profile by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3246
* GLVolumeItem: calculate camera pos using ModelView matrix by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3262
* don't relink shader program where it is not needed by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3295
* Adding support for connect PlotItem connect vector during view clipping and downsampling by @tblum in https://github.com/pyqtgraph/pyqtgraph/pull/3161
### Testing
* test image formats outside of ImageItem by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3014
* Remove now unneeded test skip conditions, use packaging library for version comparison. by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3042
* Add coverage reporting by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3054
* Use packaging library for version comparison by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3127
### Documentation
* Add Qtimer, multi threading and multiprocessing to docs by @kadheer in https://github.com/pyqtgraph/pyqtgraph/pull/3087
* Substantially upgrade ImageItem docs by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3028
* Overhaul PlotDataItem documentation by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3039
* Documentation text review for PlotDataItem by @NilsNemitz in https://github.com/pyqtgraph/pyqtgraph/pull/3057
* Convert PlotItem and AxisItem to use numpydoc Docstring Style by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3261
* Do upgrade to CONTRIBUTING.md, it's been a while by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3058
* Bump sphinx-design from 0.5.0 to 0.6.0 in /doc by @dependabot[bot] in https://github.com/pyqtgraph/pyqtgraph/pull/3032
* Bump sphinx-design from 0.6.0 to 0.6.1 in /doc by @dependabot[bot] in https://github.com/pyqtgraph/pyqtgraph/pull/3119
* Update to pydata-sphinx-theme 0.15.4 by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3079
* Bump pydata-sphinx-theme from 0.15.4 to 0.16.0 in /doc by @dependabot[bot] in https://github.com/pyqtgraph/pyqtgraph/pull/3175
* Upgrade to PyData-Sphinx-Theme 0.16.1 by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3258
* Bump sphinx from 7.3.7 to 7.4.6 in /doc by @dependabot[bot] in https://github.com/pyqtgraph/pyqtgraph/pull/3104
* Bump sphinx from 7.4.6 to 7.4.7 in /doc by @dependabot[bot] in https://github.com/pyqtgraph/pyqtgraph/pull/3106
* Bump sphinxcontrib-images from 0.9.4 to 1.0.1 in /doc by @dependabot[bot] in https://github.com/pyqtgraph/pyqtgraph/pull/3325
### Misc
* replace stencil test with scissor test by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3395
* ColorMapMenu: add new matplotlib colormaps by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3304
* Use filtfilt for bidirectional filtering in Flowchart by @MxFxM in https://github.com/pyqtgraph/pyqtgraph/pull/3237
* Added type annotations to GraphicsWidget by @RushabhMehta2005 in https://github.com/pyqtgraph/pyqtgraph/pull/3178
* adapt to changes in QPainterPathPrivate in Qt 6.10 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3370
* Update Flowchart.py by @ghylander in https://github.com/pyqtgraph/pyqtgraph/pull/3060
* Update ASV config to use paramers by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2776
* Fix libegl1 not found by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3228
* Fix Comment Error in examples/dockarea.py by @ChenQiang-AISS in https://github.com/pyqtgraph/pyqtgraph/pull/3216
* pcmi opengl: discard nan fragments by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3170
* Annotate slots with `QtCore.Slot` by @bersbersbers in https://github.com/pyqtgraph/pyqtgraph/pull/3123
* Annotate ViewBox slots by @moritz-h in https://github.com/pyqtgraph/pyqtgraph/pull/3380
* GraphicsItem: don't override Qt methods by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3359
* pyside6: don't take QByteArray memoryview too by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3270
* Probe QByteArray leak at runtime by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3274
* REPL fonts should be consistently monospaced by @kevinanewman in https://github.com/pyqtgraph/pyqtgraph/pull/3183
* refactor getting of OpenGLFunctions by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3095
* Create FUNDING.yml by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3034
* remove numba for rescaleData by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3025
* RawImageGLWidget: implement using QOpenGLTextureBlitter by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3031
* Unvendor very old colorama by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3064
* don't draw non-finite pairs by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3082
* fix: minor improvements to the visibility of the colormap button by @wakonig in https://github.com/pyqtgraph/pyqtgraph/pull/3179
* assume matplotlib supports Qt6 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3205
* Use Monospace font in Console Widget CmdInput by @jack-mil in https://github.com/pyqtgraph/pyqtgraph/pull/3137
* fix variable name typo by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/3338
* CI Updates by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3016
## New Contributors
* @ghylander made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3060
* @soulsyrup made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3067
* @Silas-K made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3070
* @tikuma-lsuhsc made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3052
* @Gatsik made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3083
* @kadheer made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3087
* @nup002 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3061
* @MrHenning made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3113
* @Tillsten made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3160
* @jack-mil made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3140
* @sldesnoo-Delft made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3114
* @a17sol made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3100
* @psyuktha made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3167
* @RushabhMehta2005 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3178
* @wakonig made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3179
* @seb5g made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3177
* @ChenQiang-AISS made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3216
* @jiban made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3206
* @tblum made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3182
* @MxFxM made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3237
* @boringbyte made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3189
* @wetzeld made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3240
* @virgile-hernicot made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3215
* @agausmann made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2947
* @jdranczewski made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3292
* @oyvindlr made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3330
* @simonkeys made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3412
* @wyzula-jan made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3409
* @moritz-h made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3380
* @cogsy23 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/3305
**Full Changelog**: https://github.com/pyqtgraph/pyqtgraph/compare/pyqtgraph-0.13.7...pyqtgraph-0.14.0
pyqtgraph-0.13.7
## What's Changed
* test_PolyLineROI now passes on non-AMD64 platforms by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2999
* Add note about NaN to int conversion by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3007
* remove functions.try_fastpath_argb as it triggered segfaults by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3008
* Allow users to specify FillRule for FillBetweenItem, undo regressionfrom #2971 by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3006
pyqtgraph-0.13.6
## What's Changed
* bdist_wheel needs to grab peegee icons by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/3000
**Full Changelog**: https://github.com/pyqtgraph/pyqtgraph/compare/pyqtgraph-0.13.5...pyqtgraph-0.13.6
pyqtgraph-0.13.5
## What's Changed
### Highlights
* add fastpath for float images with nans by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2970
* Add peegee as mkQApp application icon by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2990
* Add stubs for Qt modules by @maflAT in https://github.com/pyqtgraph/pyqtgraph/pull/2972
* add ColorMapMenu to ColorBarItem by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2955
### API/Behavior Changes
* add ColorMapMenu to ColorBarItem by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2955
* Add Vertical and Horizontal Line Symbols by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2985
### Bug Fixes
* Filling correction for Fillbetweenitem by @BousquetSophie in https://github.com/pyqtgraph/pyqtgraph/pull/2971
* Fix SpinBox SyntaxWarnings #2962 by @aaryamantriescode in https://github.com/pyqtgraph/pyqtgraph/pull/2964
* class Handle Fix allowing dict to be passed for handlePen and removing hard reset for width and cosmetic attributes by @pdmkdz in https://github.com/pyqtgraph/pyqtgraph/pull/2907
* numpy 2.0: workaround regression in rescaleData by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2974
### Misc
* Add peegee as mkQApp application icon by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2990
* Add stubs for Qt modules by @maflAT in https://github.com/pyqtgraph/pyqtgraph/pull/2972
* set SymbolAtlas dpr to primary screen's dpr by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2965
* ImageView example: use levelMode="rgba" by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2963
* Remove deprecated use of paletteChanged by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2993
* Set Application Icon on windows by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2992
## New Contributors
* @aaryamantriescode made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2964
* @maflAT made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2972
* @BousquetSophie made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2971
* @pdmkdz made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2907
**Full Changelog**: https://github.com/pyqtgraph/pyqtgraph/compare/pyqtgraph-0.13.4...pyqtgraph-0.13.5
pyqtgraph-0.13.4
## What's Changed
### Highlights
* Optimize clip and downsample by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2719
* Drop python 3.8 and numpy 1.20 support by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2740
* speed up PColorMeshItem by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2768
* NonUniformImage improvements by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2764
* Fix 'import pyqtgraph.canvas' crash by @nicoddemus in https://github.com/pyqtgraph/pyqtgraph/pull/2934
* Add LabelItem font family option by @misantroop in https://github.com/pyqtgraph/pyqtgraph/pull/2919
### API/Behavior Changes
* Drop python 3.8 and numpy 1.20 support by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2740
* Add `dataBounds()` method to `TextItem` to make autoRange more predictable by @redruin1 in https://github.com/pyqtgraph/pyqtgraph/pull/2646
* speed up PColorMeshItem by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2768
* NonUniformImage improvements by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2764
* Adapt hide icon (invisible eye) to style of other icons by @stephan-senkbeil in https://github.com/pyqtgraph/pyqtgraph/pull/2731
* Add updatePristineValues arg to Parameter.setDefault by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/2853
* Allow ROI context menu to show if non-removable by @samtygier in https://github.com/pyqtgraph/pyqtgraph/pull/2932
* Add LabelItem font family option by @misantroop in https://github.com/pyqtgraph/pyqtgraph/pull/2919
* Center exportDialog using screen geometry by @MorbidCuriosity84 in https://github.com/pyqtgraph/pyqtgraph/pull/2930
* Give siPrefix behavior to values of zero by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/2842
* make ColorBarItem agnostic of the image kind by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2879
* Allow menu selection of ColorMap(s) by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2779
* AxisItem: Add adjustable label overlap tolerances, vertical overlap by default by @NilsNemitz in https://github.com/pyqtgraph/pyqtgraph/pull/2836
* chg: NodeGraphicsItem in Node.py by @Doralitze in https://github.com/pyqtgraph/pyqtgraph/pull/2869
* ScatterPlotItem: implement hidpi pixmap by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2863
* Axis ticker update by @NilsNemitz in https://github.com/pyqtgraph/pyqtgraph/pull/2827
* Preserve tick pen by @NilsNemitz in https://github.com/pyqtgraph/pyqtgraph/pull/2828
* Add turbo colormap to local ColorMaps and GradientEditorItem by @ptuemmler in https://github.com/pyqtgraph/pyqtgraph/pull/2778
### Bug Fixes
* GLViewWidget: fix mouse pos jumps when mouse tracking is off by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2698
* TypeError when using multiple pens for different lines by @adriandavidauer in https://github.com/pyqtgraph/pyqtgraph/pull/2704
* PySide6 6.5.1 compatibility updates by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2734
* guard against auto-downsample oscillation by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2726
* For SVG exports, shift PlotCurveItems to be about 0,0 by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2728
* Update TextItem.py by @dingo9 in https://github.com/pyqtgraph/pyqtgraph/pull/2761
* Fix invisible InfiniteLine at plot edges by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2762
* Fix #2786: proper handling of slider parameter suffix by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2796
* fix: wrong key set to _pixelVectorCache by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2795
* PlotCurveItem check if args is None first by @JayanthBontha in https://github.com/pyqtgraph/pyqtgraph/pull/2835
* fixed recursive PlotWidget.__getattr__ calls by @nleclercq in https://github.com/pyqtgraph/pyqtgraph/pull/2860
* Do not move PlotCurveItem to origin by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2950
* close ROI handle subpath by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2949
* Add updatePristineValues arg to Parameter.setDefault by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/2853
* Use non-deprecated method to access screen info by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2938
* coerce to dtype after creation by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2939
* disconnect only slots that got connected by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2923
* Prevent containerChanged from collapsing an entire container tree by @UsYer in https://github.com/pyqtgraph/pyqtgraph/pull/2888
* fix: paint method widget argument can be None by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2903
* Fix 'import pyqtgraph.canvas' crash by @nicoddemus in https://github.com/pyqtgraph/pyqtgraph/pull/2934
* Fix Python 3.12 `DeprecationWarning`: `datetime.datetime.utcfromtimestamp()` by @bersbersbers in https://github.com/pyqtgraph/pyqtgraph/pull/2848
* convert QPointF to QPoint before calling mapToScene() by @sevas in https://github.com/pyqtgraph/pyqtgraph/pull/2870
* Numpy > 1.20 by @MalteOlle in https://github.com/pyqtgraph/pyqtgraph/pull/2739
* Fix resizing ViewBox if aspect locked + apply ViewBox limits immediately by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2799
### Misc
* bump to dev version by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2693
* Don't draw InfiniteLine anti-aliased if vertical or horizontal by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2709
* Optimize clip and downsample by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2719
* WidgetGroup: avoid lambda by using self.sender() by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2694
* keep track of respective finiteness of x and y by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2720
* refactor GLViewWidget code into GLViewMixin by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2659
* Fix NumPy warning in test_functions by @swt2c in https://github.com/pyqtgraph/pyqtgraph/pull/2746
* generate random integers directly by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2748
* Fix tox config, bump min numpy to 1.22 by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2755
* Simplify fps computation by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2752
* Add iterations argparse argument to benchmarks by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2418
* export dialog - compare items by "is" rather than "==" (operator not implemented!) by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2758
* workaround Python 3.11.4 flag inversion issue by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2760
* use QGraphicsPixmapItem instead of ImageItem to draw colorbar by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2781
* ImageItem: cache nan check by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2784
* ImageItem: request for 256-entry lut by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2808
* update gitignore setting by @longqzh in https://github.com/pyqtgraph/pyqtgraph/pull/2834
* workaround PYSIDE-2487 for pen parameter by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2844
* ButtonItem: draw pixmap to logical size by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2873
* Allow release info change during apt-get update on ubuntu by @spchamp in https://github.com/pyqtgraph/pyqtgraph/pull/2893
* various fixes for NumPy 2.0 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2894
* Fix typo invloved -> involved by @NilsIrl in https://github.com/pyqtgraph/pyqtgraph/pull/2905
* Add int typehint to ClickRadius by @robtau in https://github.com/pyqtgraph/pyqtgraph/pull/2943
* Refactor ImageItem QImage creation routines by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2944
* Better editable install by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2935
* Use QColor.fromString instead of deprecated QColor.setNamedColor by @zariiii9003 in https://github.com/pyqtgraph/pyqtgraph/pull/2877
* Add pickling to SRTTransform by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/2914
* pcmi: refactor setData() by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2876
### Docs
* Update .readthedocs.yaml by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2732
* Address pydata-sphinx-theme warning by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2861
* Docs: Update Qt binding selection details by @veractor in https://github.com/pyqtgraph/pyqtgraph/pull/2807
* Bump pyqt6 from 6.5.0 to 6.5.1 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2741
* Bump pyqt6 from 6.5.1 to 6.5.2 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2780
* Bump pyqt6 from 6.5.2 to 6.5.3 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2846
* Bump pyqt6 from 6.5.3 to 6.6.0 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2862
* Bump pyqt6 from 6.6.0 to 6.6.1 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2895
* Bump sphinx from 6.1.3 to 6.2.1 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2705
* Bump sphinx from 6.2.1 to 7.1.0 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2782
* Bump sphinx from 7.1.0 to 7.1.2 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2791
* Bump sphinx from 7.1.2 to 7.2.2 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2802
* Bump sphinx from 7.2.2 to 7.2.3 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2806
* Bump sphinx from 7.2.3 to 7.2.4 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2809
* Bump sphinx from 7.2.4 to 7.2.5 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2813
* Bump sphinx from 7.2.5 to 7.2.6 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2821
* Bump pydata-sphinx-theme from 0.13.3 to 0.14.1 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2825
* Bump pydata-sphinx-theme from 0.14.2 to 0.14.3 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2865
* Bump pydata-sphinx-theme from 0.14.3 to 0.14.4 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2889
* Bump pydata-sphinx-theme from 0.14.4 to 0.15.2 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2916
* Bump sphinx-design from 0.4.1 to 0.5.0 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2783
### Testing/CI
* [CI] add mypy settings for CI by @longqzh in https://github.com/pyqtgraph/pyqtgraph/pull/2845
* fix: test Python 3.10 against Qt 6.2 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2837
* cast float to signed int before to unsigned int by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2946
* Bump pyopengl from 3.1.6 to 3.1.7 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2730
* Bump h5py from 3.8.0 to 3.9.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2750
* Bump h5py from 3.9.0 to 3.10.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2839
* Bump pytest-xvfb from 2.0.0 to 3.0.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2735
* Bump pytest from 7.3.0 to 7.3.1 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2696
* Bump pytest from 7.3.1 to 7.3.2 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2743
* Bump pytest from 7.3.2 to 7.4.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2753
* Bump pytest from 7.4.0 to 7.4.2 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2817
* Bump pytest from 7.4.2 to 7.4.3 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2856
* Bump pytest from 7.4.3 to 8.0.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2922
* Bump pytest from 8.0.0 to 8.0.1 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2942
* Bump pytest from 8.0.1 to 8.0.2 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2945
* Bump pytest from 8.0.2 to 8.1.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2948
* Bump pytest-xdist from 3.2.1 to 3.3.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2722
* Bump pytest-xdist from 3.3.0 to 3.3.1 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2727
* Bump pytest-xdist from 3.3.1 to 3.4.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2880
* Bump pytest-xdist from 3.4.0 to 3.5.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2886
* Bump matplotlib from 3.7.1 to 3.7.2 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2766
* Bump matplotlib from 3.7.2 to 3.7.3 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2818
* Bump matplotlib from 3.7.3 to 3.8.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2823
* Bump matplotlib from 3.8.0 to 3.8.1 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2868
* Bump matplotlib from 3.8.1 to 3.8.2 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2885
* Bump matplotlib from 3.8.2 to 3.8.3 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2937
* Bump numba from 0.56.4 to 0.57.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2711
* Bump numba from 0.57.0 to 0.57.1 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2751
* Bump numba from 0.57.1 to 0.58.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2826
* Bump numba from 0.58.0 to 0.58.1 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2851
* Bump numba from 0.58.1 to 0.59.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2924
* Bump scipy from 1.10.1 to 1.11.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2757
* Bump scipy from 1.11.0 to 1.11.1 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2763
* Bump scipy from 1.11.1 to 1.11.2 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2803
* Bump scipy from 1.11.2 to 1.11.3 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2831
* Bump scipy from 1.11.3 to 1.11.4 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2884
* Bump scipy from 1.11.4 to 1.12.0 in /.github/workflows/etc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2917
* Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2902
* Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2814
* Bump actions/cache from 3 to 4 by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2915
* Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2898
* Bump conda-incubator/setup-miniconda from 2 to 3 by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2890
* Bump github/codeql-action from 2 to 3 by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2901
## New Contributors
* @adriandavidauer made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2704
* @MalteOlle made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2739
* @redruin1 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2646
* @dingo9 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2761
* @stephan-senkbeil made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2731
* @ptuemmler made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2778
* @veractor made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2807
* @longqzh made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2834
* @nleclercq made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2860
* @bersbersbers made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2848
* @JayanthBontha made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2835
* @sevas made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2870
* @Doralitze made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2869
* @spchamp made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2893
* @NilsIrl made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2905
* @nicoddemus made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2934
* @MorbidCuriosity84 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2930
* @UsYer made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2888
* @misantroop made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2919
* @zariiii9003 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2877
* @samtygier made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2932
* @robtau made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2943
**Full Changelog**: https://github.com/pyqtgraph/pyqtgraph/compare/pyqtgraph-0.13.3...pyqtgraph-0.13.4
pyqtgraph-0.13.3
## What's Changed
### Highlights
* PySide6 6.5 Compatability
### Bug Fixes
* Return float values from QColor in getByIndex by @nickdimitroff in https://github.com/pyqtgraph/pyqtgraph/pull/2648
* GLViewWidget: don't assume mouse tracking is disabled by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2653
* Tolerate an empty BarGraphItem by @jmakovicka in https://github.com/pyqtgraph/pyqtgraph/pull/2658
* Only apply nan mask workaround for cp version below 10.0. by @koenstrien in https://github.com/pyqtgraph/pyqtgraph/pull/2689
### Misc
* unify ndarray_from_qpolygonf implementation by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2654
* re-enable tests taking gui thread on PySide6 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2657
* inherit GraphicsWidgetAnchor on the left-hand-side by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2662
* Prepare support for PySide6 drawLines and friends by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2596
* Avoid changing background colors of text and rows for group parameter… by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2683
### Testing
* Allow macOS to have fudge factor in test_polyROI by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2687
### Docs
* Update pydata-sphinx-theme and fix warnings by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2643
* Bump sphinx-design from 0.3.0 to 0.4.1 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2686
* Bump sphinx from 5.3.0 to 6.1.3 in /doc by @dependabot in https://github.com/pyqtgraph/pyqtgraph/pull/2585
## New Contributors
* @nickdimitroff made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2648
* @koenstrien made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2689
**Full Changelog**: https://github.com/pyqtgraph/pyqtgraph/compare/pyqtgraph-0.13.2...pyqtgraph-0.13.3
pyqtgraph-0.13.2
## What's Changed
### Highlights
* Fix InfiniteLine bounding rect calculation by @ixjlyons in https://github.com/pyqtgraph/pyqtgraph/pull/2407
* Allow plotting multiple data items at once by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2461
* Migrate to PyData Sphinx Theme - Restructure Docs by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2449
### API/Behavior Changes
* re-enable hmac authentication for win32 by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2465
* Add keyword argument in PColorMeshItem to enable consistent colormap scaling during animation by @SimenZhor in https://github.com/pyqtgraph/pyqtgraph/pull/2463
* fix: use connect='finite' if finite-ness of data is unknown by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2471
* Fix `ViewBox.autoRange()` for case of data with constant y-value by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2489
* Make `ActionGroup` compatible with existing Parameter conventions by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2505
* Update `PenParameter` by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2536
* remove resizeEvent on screen change by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2546
* BarGraphItem: implement dataBounds and pixelPadding by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2565
* Maintain argument propagation for GLGraphicsItems to super class by @koutoftimer in https://github.com/pyqtgraph/pyqtgraph/pull/2516
* Accept custom ROI objects for ImageView by @ktahar in https://github.com/pyqtgraph/pyqtgraph/pull/2581
* PColorMeshItem colorbar support by @SimenZhor in https://github.com/pyqtgraph/pyqtgraph/pull/2477
* feat(PlotItem) define context menu action visibility by @jmkerloch in https://github.com/pyqtgraph/pyqtgraph/pull/2584
* Allow plotting multiple data items at once by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2461
### Bug Fixes
* Fix renderView to not use mremap on FreeBSD by @yurivict in https://github.com/pyqtgraph/pyqtgraph/pull/2445
* Fix action parameter button that is briefly made visible before getting a parent by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2451
* Fix InfiniteLine bounding rect calculation by @ixjlyons in https://github.com/pyqtgraph/pyqtgraph/pull/2407
* Fix disconnect of signal proxy by @dgoeries in https://github.com/pyqtgraph/pyqtgraph/pull/2453
* Fix ButtonItem hover event by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2473
* test and fix for ChecklistParameter.show bug by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/2480
* fix segmented line mode with no segments by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2481
* Prevent flickering `ActionGroup` when switching parameter trees by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2484
* fix: ndarray_from_qimage does not hold a reference to qimage by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2492
* Fix exportDialog drawn off screen by @aksy2512 in https://github.com/pyqtgraph/pyqtgraph/pull/2510
* partial fix for Qmenu leak by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2518
* Fix last QMenu leak and its associated segfaults by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2522
* fix setMaximumHeight(1e6) in SpinBox.py by @sem-geologist in https://github.com/pyqtgraph/pyqtgraph/pull/2519
* Use base_prefix to detect virtual env by @eendebakpt in https://github.com/pyqtgraph/pyqtgraph/pull/2566
* typo: dataRange -> dataBounds by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2589
* NonUniformImage: implement floating point boundingRect by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2587
* PColorMeshItem: implement dataBounds and pixelPadding by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2586
* BarGraphItem: calculate boundingRect without drawing by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2599
* Fix bounds handling when data is int16 or similar formats by @NilsNemitz in https://github.com/pyqtgraph/pyqtgraph/pull/2515
* ImageView: make .nframes() to use .axis['t'] instead of .shape[0] by @sem-geologist in https://github.com/pyqtgraph/pyqtgraph/pull/2623
* Fix GraphicsScene ValueError in mouseReleaseEvent by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2605
* PlotCurveItem error with stepMode="center", autoRange and autoVisible by @djdt in https://github.com/pyqtgraph/pyqtgraph/pull/2595
### Examples
* Fix #2482 argparse inputs were ignored by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2483
* PlotSpeedTest: reflect initial use_opengl state by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2487
* draw example histogram using BarGraphItem by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2556
### Tests
* ROI: Add test with mouseDrag event and check snapping by @dgoeries in https://github.com/pyqtgraph/pyqtgraph/pull/2476
* fix wrong logic for assert_alldead by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2503
* fix: instantiate QApplication for test_Parameter.py by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2539
* don't use pg.plot() in tests by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2625
### Docs
* Migrate to PyData Sphinx Theme - Restructure Docs by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2449
* Fix Qt crash course example by @Jaime02 in https://github.com/pyqtgraph/pyqtgraph/pull/2470
### Other
* Remove remaining templates by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2448
* Have canvas deprecation warning by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2446
* unify win32 and unix mmap codepaths by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2457
* Update setup.py, import distutils after setuptools by @LocutusOfBorg in https://github.com/pyqtgraph/pyqtgraph/pull/2459
* Raise appropriate Exceptions in place of generic exceptions by @Nibba2018 in https://github.com/pyqtgraph/pyqtgraph/pull/2474
* Remove old unused mains by @Jaime02 in https://github.com/pyqtgraph/pyqtgraph/pull/2490
* make DockDrop be a non-mixin by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2450
* Use non-deprecated QMouseEvent signatures by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2509
* Remove STRTransform main by @Jaime02 in https://github.com/pyqtgraph/pyqtgraph/pull/2466
* Minor improvements to `InteractiveFunction` ecosystem by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2521
* Improve `ChecklistParameter.setValue` logic. by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2544
* Remove antiquated Qt crash prevention by @NeilGirdhar in https://github.com/pyqtgraph/pyqtgraph/pull/2573
* create internals.PrimitiveArray by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2591
* rename "method" to "use_array" and make it keyword only by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2609
## New Contributors
* @yurivict made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2445
* @Jaime02 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2468
* @SimenZhor made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2463
* @Nibba2018 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2474
* @rookiepeng made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2491
* @aksy2512 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2510
* @noonchen made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2553
* @ZeitgeberH made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2559
* @NeilGirdhar made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2573
* @koutoftimer made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2516
* @ktahar made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2581
* @bilaljo made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2577
* @djdt made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2595
* @jmkerloch made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2584
**Full Changelog**: https://github.com/pyqtgraph/pyqtgraph/compare/pyqtgraph-0.13.1...pyqtgraph-0.13.2
pyqtgraph-0.13.1
## What's Changed
Bug Fixes
* Refactor examples using `Interactor` to run on changing function parameters by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2437
API Change
* deprecate GraphicsObject::parentChanged method by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2420
Other
* Move Console to generic template and make font Courier New by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2435
pyqtgraph-0.13.0
## What's Changed
Highlights
* With PyQt6 6.3.2+ PyQtGraph uses sip.array, which leads to significantly faster draw performance by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2314
* Introducing "interactive" parameter trees by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2318
* Minimum Qt version now 5.15 for Qt5 and 6.2+ for Qt6 by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2403
* with `enableExperimental` pyqtgraph accesses QPainterPathPrivate for faster QPainterPath generation by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2324
New Features
* Interactive params fixup by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2318
* Added possibility to use custom dock labels by @ardiloot in https://github.com/pyqtgraph/pyqtgraph/pull/2274
* Introduce API option to control whether lines are drawn as segmented lines by @swvanbuuren in https://github.com/pyqtgraph/pyqtgraph/pull/2185
* access QPainterPathPrivate for faster arrayToQPath by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2324
* Update LabelItem to allow transparency in the text by @ElpadoCan in https://github.com/pyqtgraph/pyqtgraph/pull/2300
* Make parameter tree read-only values selectable and copiable by @ardiloot in https://github.com/pyqtgraph/pyqtgraph/pull/2311
* Have CSV exporter export error bar information by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2405
* map pyqtgraph symbols to a matplotlib equivalent by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2395
Performance Improvements
* Improve performance of PlotCurveItem with QOpenGLWidget by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2264
* ScatterPlotItem: use Format_ARGB32_Premultiplied by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2317
* access QPainterPathPrivate for faster arrayToQPath by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2324
* make use of PyQt sip.array by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2314
Bug Fixes
* Fix GLImageItem regression by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2232
* Fixed the app crash on right clicked by @Cosmicoppai in https://github.com/pyqtgraph/pyqtgraph/pull/2236
* Fix Regression in in ViewBox.updateScaleBox Caused by #2034 by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/2241
* Fix UFuncTypeError when plotting integer data on windows by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/2249
* Fixed division by zero when no pixmap is loaded by @StSav012 in https://github.com/pyqtgraph/pyqtgraph/pull/2275
* Ensure in PlotCurveItem lookup occurs in tuple, not str by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2294
* Fixed a crash when `step` option is missing by @StSav012 in https://github.com/pyqtgraph/pyqtgraph/pull/2261
* Invalidate cached properties on geometryChanged signal by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2357
* Bugfix: Handle example search failure due to bad regex by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2121
* Address #2303 unapplied pen parameter constructor options by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2305
* Issue #2203 Potential Fix: Disabled FlowchartCtrlWidget.nodeRenamed o… by @HallowedDust5 in https://github.com/pyqtgraph/pyqtgraph/pull/2301
* Fix #2289 unwanted growing in scene context menu by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2306
* #2283 delete limitation by rectangle width ROI by @sasha-sem in https://github.com/pyqtgraph/pyqtgraph/pull/2285
* Update exception handling to catch exceptions in threads (py3 change) by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/2309
* Fix PlotCurveItem errors when pen=None by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/2315
* ScatterPlotItem point masking fix by @ardiloot in https://github.com/pyqtgraph/pyqtgraph/pull/2310
* Use property to lazily declare rectangle by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/2356
* Fix missing import in Flowchart.py by @Puff-Machine in https://github.com/pyqtgraph/pyqtgraph/pull/2421
* Fix doubling labels in DateAxisItem by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2413
* GridItem: Fix pen for usage of dash-pattern by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2304
* Update PColorMeshItem.py by @LarsVoxen in https://github.com/pyqtgraph/pyqtgraph/pull/2327
* Fix infinite loop within DateAxisItem by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2365
* Fix GraphicsScene.itemsNearEvent and setClickRadius by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2383
* Modify MatplotlibWidget to accept QWidget super constructor parameters. by @Dolphindalt in https://github.com/pyqtgraph/pyqtgraph/pull/2366
* Fix flickering, when panning/scrolling in a fully zoomed-out view by @bbc131 in https://github.com/pyqtgraph/pyqtgraph/pull/2387
* Make auto downsample factor calculation more robust by @StSav012 in https://github.com/pyqtgraph/pyqtgraph/pull/2253
* Fix : QPoint() no longer accepts float arguments by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/2260
* avoid double __init__ of DockDrop by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2286
* Add a few ImageView improvements by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/1828
API/Behavior Changes
* remove border QGraphicsRectItem from scene by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2225
* Introduce API option to control whether lines are drawn as segmented lines by @swvanbuuren in https://github.com/pyqtgraph/pyqtgraph/pull/2185
* Modify CSV exporter to output original data without log mapping by @NilsNemitz in https://github.com/pyqtgraph/pyqtgraph/pull/2297
* Expose useCache ScatterPlotItem option from plot method by @ibrewster in https://github.com/pyqtgraph/pyqtgraph/pull/2258
* remove legend items manually from scene by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2368
* `getHistogramRange` for `HistogramLUTItem` by @kremeyer in https://github.com/pyqtgraph/pyqtgraph/pull/2397
* Axis pen improvements by @ibrewster in https://github.com/pyqtgraph/pyqtgraph/pull/2398
* remove MatplotlibWidget from pg namespace by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2400
* change the libOrder to favor Qt6 by @Wubbzi in https://github.com/pyqtgraph/pyqtgraph/pull/2157
Examples
* Added Jupyter console widget and Example by @jonmatthis in https://github.com/pyqtgraph/pyqtgraph/pull/2353
* Add glow example by @edumur in https://github.com/pyqtgraph/pyqtgraph/pull/2242
* update multiplePlotSpeedTest.py to use PlotCurveItem instead of QGraphicsPathItem by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2426
Docs
* Add GLTextItem to docs by @jebguth in https://github.com/pyqtgraph/pyqtgraph/pull/2419
* Add logo to docs by @ixjlyons in https://github.com/pyqtgraph/pyqtgraph/pull/2384
* Enable nit-picky mode in documentation and fix associated warnings by @j9ac9k in https://github.com/pyqtgraph/pyqtgraph/pull/1753
* Added UML class diagram to give overview of the most important classes by @titusjan in https://github.com/pyqtgraph/pyqtgraph/pull/1631
Other
* Remove old Qt workarounds by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2224
* Track when ScatterPlotItem clears the tooltip, only clear when needed by @ixjlyons in https://github.com/pyqtgraph/pyqtgraph/pull/2235
* Avoid import error in HDF5 exporter by @campagnola in https://github.com/pyqtgraph/pyqtgraph/pull/2259
* test enum using : "enums & enum" by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2250
* add support for PySide6 6.3.0 QOverrideCursorGuard by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2263
* Used the power of `blockIfUnchanged` decorator by @StSav012 in https://github.com/pyqtgraph/pyqtgraph/pull/2181
* Handle/remove unused variables by @ksunden in https://github.com/pyqtgraph/pyqtgraph/pull/2094
* BusyCursor and QPainter fixes for PyPy by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2349
* Add a pyi stub file to import best-guess pyqt type hints by @outofculture in https://github.com/pyqtgraph/pyqtgraph/pull/2358
* test_PlotCurveItem: unset skipFiniteCheck for next test by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2313
* lazy create the rectangle selection item by @danielhrisca in https://github.com/pyqtgraph/pyqtgraph/pull/2168
* fix: super().__init__ does not need self by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2359
* Promote interactive `Run` action to group level by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2414
* Enhance testing for creating parameters from saved states by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2319
* add support for PySide6's usage of Python Enums by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2329
* remove QFileDialog PyQt4 compatibility code by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2394
* Bugfix: `interact` on decorated method that uses `self`. by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2408
* use single generic template for all bindings by @pijyoi in https://github.com/pyqtgraph/pyqtgraph/pull/2226
* `interact()` defaults to `ON_ACTION` behavior and accepts `runActionTemplate` argument by @ntjess in https://github.com/pyqtgraph/pyqtgraph/pull/2432
## New Contributors
* @andriyor made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2212
* @keziah55 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2191
* @Cosmicoppai made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2236
* @bbc131 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2264
* @StSav012 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2181
* @ardiloot made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2274
* @sasha-sem made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2285
* @swvanbuuren made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2185
* @Anatoly1010 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2330
* @LarsVoxen made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2327
* @HallowedDust5 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2301
* @ElpadoCan made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2300
* @dependabot made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2342
* @jaj42 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2389
* @Dolphindalt made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2366
* @kremeyer made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2397
* @jonmatthis made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2353
* @jebguth made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2419
* @Puff-Machine made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull/2421
**Full Changelog**: https://github.com/pyqtgraph/pyqtgraph/compare/pyqtgraph-0.12.4...pyqtgraph-0.13.0
pyqtgraph-0.12.4
Highlights:
- #2055 Jupyter Support via jupyter-rfb
- #2011 Experimental High Performance With Lines > 1px Thickness
- #2059/#2153 Python 3.10 Support
New Features:
- #2041 Allow unsetting various options in PlotDataItem and PlotCurveItem
- #2052 PlotItem Average pen and shadow pen are now accessible
- #2090 More coninient methods for color maps and bars
Performance Enhancements:
- #2023 PColorMeshItem Performance Improvements
- #2032 Speed up PlotCurveItem fillLevel
- #2036 Speed up arrayToQPath for connect='all' with non-finite values
- #2111 PlotCurveItem OpenGL avoid automatic conversion from float64 to float32
- #2124 Go back to using np.clip on Windows with numpy 1.22 or newer
- #2131 Avoid PyOpenGL automatic array conversion
- #2198 Cache values used in GraphicsWidget .boundingRect() and .shape() methods
- #2199 Avoid unnecessary call to viewRange if autoRange is disabled
- #2202 Cachce ViewBox view pixel size
Bug Fixes:
- #2034 Fix Mouse Event possitioning issue with grid
- #2047 Fixed WidgetGroup Handling QSplitter
- #2054 Limit ViewBox based on double precision limitations
- #2085 Reverse coordinates when drawing on row-major images
- #2087 Fix broken imports in some examples
- #2089 Don't raise exception when close method of an already-closed dock is called
- #2101 Change GroupParameterItem palette to look ok in darkmode on macOS
- #2103 Fix stuck ColorBarItem
- #2132 Workaround for PySide6 6.2.2 breaking change
- #2130 RangeColorMapItem derives from ColorMapParameter
- #2147 Fire correct signal for Checklist ParameterItem type
- #2148 Avoid comparing a string with a np.ndarray
- #2170 Fix formatting on minimum value of GradientLegend
API/Behavior Changes:
- #2081 Separate x and y flags for AxisItem.setLogMode
- #2086 ParameterTree PenParameter now uses GrouParameter instead of popup button
- #2097 Add a proxy delay to checklist ParameterItem changes via children edits
- #2192 Added option to makeARGB to disable masking NaNs
Other:
- #1915 Deprecate QtWidgets accessed through QtGui
- #2002 isort and pycln prun over entire repo
- #2038 Fixed various deprecations
- #2045 Examples Directory moved inside project directory
- #2051 Implement Pickle Protocol for RemoteGraphicsView
- #2053 Disable unneeded call to ViewBox.prepareForPaint()
- #2057 Avoid re-dispatching mouse events from the AxisItem
- #2064 Add a quantization limit to ViewBox
- #2073 Implementing glInfo without PyOpenGL
- #2077 Improved error message for invalid PYQTGRAPH_QT_LIB
- #2083 Added check for ROI to make sure its in a GraphicsScene
- #2093 Add helpful exceptions for invalid inputs to some methods
- #2096 Be lazier about importing h5py
- #2098 Remove polluting import namespace using *
- #2099 Convert == None to is None checks
- #2100 Avoid re-using variables in nested loops
- #2124 Fixed variety of deprecation warnings
- #2154 Fix typos and formatting errors in comments/docstrings
- #2194 stop using deprecated numpy.fromstring and use numpy.frombuffer instead
pyqtgraph-0.12.3
Highlights:
- PlotCurveItem render speed is now substantially faster
- #1868/#1873 Example app now has filter text input
- #1910 PlotSpeedTest now has parameter tree control panel
New Features:
- #1844 More parameter item types (File, Calendar, ProgressBar, Font, Pen, Slider)
- #1865 Matplotlib colormaps viridis, plasma, magma and inferno are now included in pyqtgraph
- #1911 Extend Colormap with HSL cycles and subset generation
- #1932 Make anti-aliasing optional for paintGL in PlotCurveItem
- #1944 Expand use of QColor functions/methods, including setNamedColor
- #1952 Add checklist parameter item
- #1998 ThreadTrace can now save to a file
Performance Enhancement:
- #1927 Reduce ColorMap inefficiencies
- #1956 use QByteArray as backing store in arrayToQPath
- #1965 perform arrayToQPath in chunks
Bug Fixes:
- #1845 Fix zoom behavior with showGrid by separating mouse events stolen by AxisItem
- #1860 RemoteGraphicsView and RemoteSpeedTest now work under windows venv environments
- #1865 Fixed matplotlib colormap importer code
- #1869 Fix ColorBarItem tick position on export
- #1871 Allow adding items to GLViewWidget before showing plot
- #1875 Fix calls in mouse methods in GLViewWidgets due to missing event.localPos() in PyQt6
- #1876 Fix for improper placement of ROI handle positions in some cases
- #1889/#2003 Fix call to drawText in GLTextItem and GLGradientLegendItem on Python 3.10
- #1897/#1902 Re-enable "experimental" feature with fix for PlotCurveItem with OpenGL on Windows
- #1907 Fix GLVolumeItem example for arm64 platforms
- #1909 Check if AxisItem.label is None before and exit early in resizeEvent
- #1920 arrayToQPath can handle empty paths
- #1936 QPolygonF creation can now handle empty arrays
- #1968 Fix output of clip_array in colormap.modulatedBarData not being assigned
- #1973 Fix PlotItem.updateDecimate unhiding intentionally hidden curves
- #1974 Fix ImageView levelMode with levelMode == 'rgba'
- #1987 Fix HistogramLUTItem itemChanged with use of autoLevel
- #2009 Fix ROI curves hidding in ImageView
API/Behavior Changes:
- #1992 Reverted to traditional log10 mode for PlotDataItem
- #1840 Allow border=False in GraphicsLayout
- #1846 Reduced pollution to pg.namespace
- #1853 ColorMap.getColors and getStops behavior changes
- #1864 Draw GradientLegend in ViewBox coordinates
- #1885 Raise TypeError instead of general Exception if functions.eq is unable to determine equality
- #1903 Cleanup GLViewWidget
- #1908 More readable parameters for ColorBarItem
- #1914 Emit deprecation warning for use of pyqtgraph.ptime
- #1928 Restore previous signature of TargetItem.setPos
- #1940 fix log mode by reverting to previous formulation
- #1954 Deprecate use of values opt for list parameter type
- #1995 ColorButton now takes optional padding argument instead of hardcoded value of 6
Other:
- #1862/#1901 MetaArray now under deprecation warning, to be removed in a future version
- #1892 Add GLPainterItem Example
- #1844 Debugged elusive intermitted CI segfault
- #1870/#1891 Updated README.md
- #1895 Update CONTRIBUTING.md
- #1913 Bump sphinx and theme versions
- #1919 Re-organize paramtypes
- #1935 Remove some unused imports
- #1939 Remove usage of python2_3.py
- #1941 Remove str casting of QTextEdit.toPlainText output
- #1942 Add EOF newline to files missing it
- #1943 Remove python2 code paths
- #1951 Fix typos in docs
- #1957 Bump minimum numpy version to 1.18
- #1968 Fix ImageView calling deprecated QGraphicsItem.scale()
- #1985 delegate float LUTs to makeARGB with warning
- #2014 Replace couple absolute imports with relative imports
pyqtgraph-0.12.2
Highlights
- Qt6 6.0 support has been removed in favor of Qt6 6.1+
- More numba utilization, specifically for makeARGB
- Substantial ImageItem performance improvements have been made thanks to @pijyoi and @outofculture
- Significant performance improvements made to ScatterPlotItem and LinePlots
- More ColorMap features/support (more are coming!)
New Features
- #1318 Added TargetItem
- #1707 Added Qt 6.1 support
- #1729 Allow gradient position to be configured on a histogram
- #1742 Better support for plotting with gradients
- #1776 Add GLTextItem
- #1797 Add ColorMap linearization (using CIELab calculations), colorDistance functionality
- #1865 Include viridis, magma, plasma, inferno, and cividis colormaps
- #1868/#1873 Example app now has a filter text box to search for relevant examples
Performance enhancement:
- #1738, #1695, 1786, #1768, 1794 - ImageItem/makeARGB performance improvements
- #1724 Use math module for scalar values math instead of numpy functions
- #1796 Greatly speed up line plots with use-case of connect='all'
- #1817 Speed up some cases of connect='finite' (few discontinuities)
- #1829 Use QPainter.drawPixmapFragments for ScatterPlotItem
Bug Fixes:
- #1700 Fixed ROI getArrayRegion
- #1748 Fixed bug when plotting boolean arrays in PlotDataItem
- #1791 Callable LUTs being used on the ImageItem substrates
- #1783 Fix memory leak in GLMeshItem
- #1802 Updated cx_freeze example and added workaround for template files
- #1804 Fix mouseClick handling for Qt6 on ROIs
- #1799 Force cameraPosition() to return a Vector in GLViewWidget
- #1809 Sanitize ShowGrid Alpha Input PlotItem
- #1816 Fix bug with Parameter value failing with numpy array-like values
- #1827 Fix BusyCursor to use internal stack provided by setOverrideCursor/restoreOverrideCursor
- #1833 Fix ScatterPlot render issues for PyQt6 6.1.0
- #1843 Fix zoom only applied to y-axis with show grid
- #1860 Fix pyqtgraph multiprocessing on Windows inside a venv environment
- #1869 Fix color bar ticks not being drawn correctly during export
- #1865 Fix matplotlib colormap import code
- #1876 Fix LineROI handle positions being way off-base in some circumstances
- #1871 Allow adding items to GLViewWidget before calling GLViewWidget.show()
- #1864 Draw GradientLegend in ViewBox coordinate system with correct orientation
- #1875 Fixed mouse events in GLViewWidget for PyQt6 bindings
API/Behavior Changes:
- #519 Expose clickable property in PlotDataItem
- #1772 Keep ColorMap values for RGBA as uint8
- #1736 RemoteGraphicsView is now hidpi aware
- #1779 Have SpinBox use fallback minStep in dec mode
- #1706 Colors defined with hex string values must start with a #
- #1819 Added method to disable autoscaling for HistogramLUTItem
- #1638 Expose number of subsamples in ImageItem auto-level determination
- #1824 Remove little-endian assumption for image export
Other
- #1807 Merge pyqtgraph/test-data repo into main repo, move test files to tests directory
- #1862 Scheduled deprecation for MetaArray module
- #1846 Cleaned up pg namespace
pyqtgraph-0.12.1
New Features
- #1596 - Add ColorBarItem for simplified image level adjustment
Performance enhancement:
- #1650 Don't use clip_array on scalers in DynamicPlotRange
- #1617 Optimize makeARGB for ubyte images
- #1648 Implement blocked variant of rescaleData
API/Behavior Change:
- #1690 Parameter Item default created from value if not present
Bug Fixes:
- #1665 Don't pass brush to mkPen in LegendItem.paint()
- #1660 Include colormaps in the python wheel
- #1653 Fix accidental disabling of style updates in PlotDataItem
- #1647 Handle empty adjacency array for GraphItem
- #1680 Fix test suite for big-endian architectures
- #1694 DateAxisItem now accounts for Daylight Savings Time
- #1691 Make sure dynamic range limiter runs on PlotDataItem
pyqtgraph-0.12.0
Deprecations:
- Qt < 5.12, Python < 3.7, and NumPy < 1.17 are no longer supported
New Features:
- Qt6 Compatibility (thank you so much @pijyoi !)
- #1466 CuPy/CUDA support for ImageItem! (thanks you so much @outofculture !)
- #1520/#1518 i18n Localization support for dialogs
- #1497 Allow toggling visibility via mouse click on LegendItem
- #1527 Expand parameter tree documentation
- #1563 Fixes to FlowChart documentation
- #1534 Extend pixmaps for GraphIcons
- #1566 Toggle-able options for ScatterPlotSpeedTest.py
- #1572 Arbitrary scale center ROI
- #1581 Equilateral Triangle ROI
Performance enhancement:
- #1493 significant speedup to invertQTransform()
- #1501 various ImageItem performance improvements
- #1509 mkQApp will now have settings for better HiDPI settings
- #1518 Small Optimizations for functions.rescaleData()
- #1556 Reduce reallocation in PlotDataItem dynamic range limiter
- #1560 Cache scatter-plot items by hashable properties
- #1564 Correct id-based keyring of scatter plot pixmap cache
- #1569 Fix ScatterPlotItem performance regression
- #1619 Stop PlotDataItem from always sending full style information to PlotCurveItem/ScatterPlotItem
- #1630 Combine levels and lut only if both are present
- #1632/#1641/#1649 workaround for np.clip regression since numpy 1.17
- #1641 Introduce functions.clip_array as faster replacement for currently slow np.clip
- #1637 PlotDataItem Fix viewRange <-> dynamic range limit
- #1650 Introduce functions.clip_scalar to clip scalar values
API/Behavior Change:
- #1476 Use log modulus transform for y-axis log scaling
- #1522 InfiniteLine emits clicked signal event
- #1525 Use QOpenGLWidget instead of QGLWidget
- #1540 Support siPrefix with no suffix in SpinBox
- #1541 Use qWaitForWindowExposed instead of qWaitForWindowShown
- #1554 Disable paint in GLScatterPlotItem if it has no data
- #1573/1576 Add deprecation warnings to portions of library
- #1587 qApp.property('darkMode') is now a dynamic property
- #1613 Added keys() method to Parameter class
- #1646 Removed unhelpful warnings
- #1645 Make main stanza PyQt6 compatible
- #1644 Deprecate use of hex strings that do not start with "#" in mkColor
Bug Fixes:
- #1487 Fix InfiniteLabel object has no attribute 'updateText'
- #1491 LinearRegionItem would break with setSpan
- #1496 enableMenu setting now preserved when passing ViewBox to PlotItem
- #1498 PlotDataItem now signals on setPos()
- #1500 AlignCenter should have been AlignHCenter
- #1506 Fix "camerPosition" typo in GLViewWidget
- #1510 Fix RemoteGraphicsView mouse interactions on Qt 5.12
- #1517 Fix RemoteSpeedTest Shutdown Errors
- #1528 Support suffix for int parameters in SpinBox
- #1546 ImageView guards against key events when there is no time axis
- #1558 Fix Small Heights in ErrorBarItem
- #1567 Handle 0-d arrays in InfiniteLine.setPos()
- #1583 RawImageWidget fix port to QOpenGLWidget
- #1594 PlotItem removeItem regression fixed
- #1595 Workaround for CuPy Indexing Bug
- #1597 Fix RawImageWidget transpose did not handle luminance only images
- #1598 Remove references to self from lambdas for Signals
- #1618 Install sys.excepthook for PyQt6
- #1639 Fix transformations in GradientLegend
- #1647 Have GraphItem handle empty adjacency array
- #1653 Fix accidentally styled updates in PlotDataItem
- #1651 Use collections.abc for collections metaclasses in colormap.py
pyqtgraph-0.11.1
New Features:
- #800 Legend for bar graphs
- #1244 Arrow scatter symbols
- #161 Allow hiding individual points in scatter plot
- #395 LegendItem display options
- #1310 Added `Pa` to Units
- #1310 `debug.ThreadTrace` add support for thread names
- #117 Flow Chart Nodes now resized based on number of inputs/outputs
- #1154 `DateAxisItem`
- #1285 Improve control over ROI/handle pens
- #1273 `PColorMeshItem`
- #1397 `LegendItem` enable customization of label text size
- #1422 Permit entry of non-finite values into float `SpinBox`
- #1442 `TickSliderItem.allowRemote` property added
- #1441 `Tick.removeAllowed` is now a regular property and used with `TickSliderItem`
- #1388 Emit a signal when `GraphicsScene` `addItem` or `removeItem` methods called
Performance enhancement:
- #1240/#345 GLImageItem clear need update flag
- #977 Faster computation option for pseudoscatter
- #1297 Improve ArrowItem performance
- #1296 Update `h5py` deps in metaarray
- #1295 Improve TextItem performance
- #1283 Performance improvements to arrayToQPath
- #816 Avoid constructing shadow pens when no shadow pen is set
- #1311 HistogramLUTItem detect trivial gradients
- #1312 avoid extra work when setLabelAngle would have no effect
- #1391 cache viewRect of `GraphicsItem` to reduce CPU load
- #150 Slight speedup to ViewBox panning
- #1420 Many ScatterPlot Improvements
API/Behavior Change:
- #496 Always antialias lines between gradient and region in HistogramLUTItem
- #385 Add headWidth parameter to arrows
- #551 fps variable on ImageView
- #1251 Allow explicit utcOffset timezone in DateAxisItem
- #1310 Add `SignalProxy.block` for temporary disabling of signal forwarding
- #1310 `InfiniteLine.setPos` add support for array argument
- #1310 Rate-limit Qt event processing in ProgressDialog if it is modal
- #1289 Disable autoSIPrefix for DateAxisItem by default
- #1274 Add tickAlpha to AxisItem Style Options
- #402 Added `clear()` method to `GLViewWidget`
- #1264 Added exception to checkOpenGLVersion to highlight OpenGL ES incompatibility
- #1257 Make painter tick font dependent for AxisItem
- #1256 Added `setState`, `setState` and `saveState` to `ROI`
- #1324 Pass through kwargs from MultiPlotItem.plot to PlotItem.plot
- #1387 ScatterPlotItem: Make + and x symbols thicker
- #1362 Make flowchart.Terminal sortable
- #1360 Add "left" and "right" step Modes to PlotCurveItem and PlotDataItem
- #1414 Emit event with mouse clicks for some items
- #1413 `InfiniteLine.viewTransformChanged` now calls superclass-method
- #1411 Hide `WidgetParameterItem.defaultBtn` if param has no default
- #1410 add fontSize kwarg to `Dock`
- #159 Add wrapping option to `SpinBox`
- #330 Set parameter default button `autoDefault` value to `False`
- #157 Provide `WidgetGroupInterface` to `GradientWidget`
- #151 Optional provide custom `PlotItem` to `PlotWidget`
- #1140 Dynamic range limiting in `PlotDataItem`
- #1383 GraphicsView set a transparent background palette
- #1428 Add default color for `ColorMap` type in `ColorMapWidget`
Bug Fixes:
- #1239 Avoid adding PlotItem twice
- #508 siScale precision
- #503 Fix butg in RawImageWidget which resulted in mirrored image
- #1242,#1267 Add the mouse event to the sigClicked signal in PlotCurveItem
- #1247 Restore the now-deprecated PlotWindow and ImageWindow classes
- #1249 Remove ScatterPlotItem's SpotItems during addItem call
- #1252 Fix incorrect tick text boundaries calculation on axis by setting the font
- #1310 Fixed `Vector.__init__` when used with `QVector3D` argument
- #1310 Fix console exception filtering for python3
- #1310 BusyCursor only restore cursor after all nested levels have exited
- #1310 `SimpleParameter.setValue` coerces argument to int if parameter type is int
- #1307 Fixed `reload` methods for python3
- #1294 Various console fixes
- #1293 Various Python3 code fixes
- #1282 Handle Axis SI prefix scaling in MatplotlibExporter
- #1276 Fix problems with high frequency gaming mice
- #1270 Various fixes with AxisItem space being taken
- #1272 `LegendItem.clear()` fixed
- #1268 Check for container before setting dock orientation
- #1312 Avoid divide by 0 condition in TargetItem
- #1309 Properly retain and use hoverPen argument in _PolyLineSegment
- #1371 Explicitly set line width in PlotCurveItem when using OpenGL
- #1319 don't automatically reload modules without pyc
- #1319 make ptime.time on py3 return precision wall-clock time
- #1334 Edge case detection in PlotCurveItem
- #1339 fix handling of QVector3D args in Vector.__init__
- #1336 Make `parent` an explicit kwarg of ArrowItem.__init__, avoid passing into setStyle
- #1368 Disconnect from correct slots in Flowchart
- #1364 fix log scaling
- #963 Allow last image in stack to be selected by slider in ImageView
- #1045 Raise AttributeError in __getattr__ in TabWindow
- #960 Work around PySide setOverrideCursor bug in BusyCursor
- #309 Encode QPropertyAnimation property name if not passed as bytes
- #1072 Fix storing of ragged curves in HDF5Exporter
- #1275 Fix Parameter.hasDefault
- #1291 Get ImageView ROI working with both row and col major data
- #1377 Consolidate and fix downsample factor computation in ImageItem
- #1376 Fix PlotItem.setAxisItems
- #1392 SignalProxy: Correct initialization without slot argument
- #1306 Fix incorrect rendering of overlapping object in renderToArray()
- #1349 Avoid calling method on undefined attribute
- #1367 AxisItem: Account for empty strings in the visibility of text and units
- #1356 Fix `ParameterTree` tree name and title handling
- #1419 Fix `DataTreeWidget` dict sorting crash
- #1408 Fix mouse interaction issues with `DockLabel`
- #329 Fix bug where `int` and `float` parameter limits are not always set
- #158 Make `DockArea` compatible with Qt Designer
- #1405 Fix name setting in `ScatterPlotItem` options
- #1403 Do not apply transparent background to Qt4
- #1468 Allow zero step in `ImageItem`
- #1464 Remove `ViewBox.childGroup`'s `ItemClipsChildrenToShape` flag
- #1461 arrayToQPath revert to old behavior of `connect=ndarray` parameter
- #1459 Fix `TickSliderItem` to avoid ghost ticks
- #1456 Resolve issue with `PlotCurveItem` with merging PRs in an incorrect order
- #1287 Fill in non-finite plot values for Qt versions >= 5.12.3
- #1447 Clipped AxisItem tick value labels to prevent drawing artifacts
- #1435 Fix autosize not taking to the correct range with `TextItem` in view
- #1452 merge `InfiniteLine` caching calls
- #1446 Fix `PlotDataItem.setData([], [])`
- #1443 Fix Viewbox axis zoom in RectMode
- #1439 Fix `TickSliderItem.setTickValue` when it references a `GradientEditorItem` method
- #1361 Prevent item duplication in `Node` context menu
- #1423 Fix typo in `kwargs` for `GridItem.setTextPen`
- #1401 Fix width, height and background in SVG exporter
- #1416 Handle case in `ROI` when `shape`, `vectors`, or `origin` keywords are passed in
Maintenance:
- #389 Revert workaround for upstream QT bug regarding mouse events
- #1243 Ensure setPos in ROI is initialized correctly
- #1241 Pin pytest-xvfb version on py2
- #1310 Added tests for `functions.subArray`
- #1307 Add `ThreadSafeTimer` to `__init__.py`
- #467 derivatePlots cleanup
- #400 `ImageView.Timeline` better visibility
- #1265 Make the documentation reproducible
- #1319 clean up exception messages in console
- #356 Fix some NumPy warnings
- #1326 Improve docs for MultiPlotWidget and MultiPlotItem
- #1331 Migrate imports of PyQt5's sip module to new namespace
- #1370 Fix deprecation warning in multiprocess module
- #308 Fix opt name for SpinBox: range -> bounds in UnsharpMaskNode example
- #887 Update collections.abc imports
- #1142 Miscellaneous doc fixups
- #1169 Avoid using mutable default argument value
- #1073 Python3 fixes
- #1284 Update doc strings to clarify getArrayRegion API for ROI subclasses
- #1042 Close windows at the end of test functions
- #1374 Test warnings cleanup
- #1375 Add targeted Vector test coverage
- #1384 GLViewWidget.pan docstring typo
- #1382 Autoformat LegendItem
- #1396 Add tests for GraphicsView
- #1399 Disable mouse rate limiting on test_ROI
- #1409 Prepend conda-forge channel prior to env creation in CI
- #1302 Fix Example app now works with Qt4/Python2
- #1402 Handle case of version string having no `+`
- #1400 Fix sphinx warnings on `PColorMeshItem`
- #1328 Add docs build job to CI
- #1464 Use `conda-forge` on pyside2+linux
- #1448 Fixes for `examples/CustomPlot.py`
- #1432 ExampleApp fix to use `pg` module from directory
pyqtgraph-0.11.0
NOTICE: This is the _last_ feature release to support Python 2 and Qt 4 (PyQt4 or pyside 1)
New Features:
- #101: GridItem formatting options
- #410: SpinBox custom formatting options
- #415: ROI.getArrayRegion supports nearest-neighbor interpolation (especially handy for label images)
- #428: DataTreeWidget:
- Add DiffTreeWidget, which highlights differences between two DataTreeWidgets
- Improved support for displaying tracebacks
- Use TableWidget to represent arrays rather than plain text
- #446: Added Perceptually Uniform Sequential colormaps from the matplotlib 2.0 release
- #476: Add option to set composition mode for scatterplotitem
- #518: TreeWidget:
- Add new signals: sigItemCheckStateChanged, sigItemTextChanged, sigColumnCountChanged
- Allow setting expansion state of items before they are added to a treewidget
- Support for using TreeWidget.invisibleRootItem() (see also #592, #595)
- #542: Add collapsible QGroupBox widgets
- #543: Add TargetItem: simple graphicsitem that draws a scale-invariant circle + crosshair
- #544: Make DockArea.restoreState behavior configurable in cases where either a dock to be restored is
missing, or an extra dock exists that is not mentioned in the restore state.
- #545: Allow more types to be mapped through Transform3D
- #548: Adds a disconnect() function that allows to conditionally disconnect signals,
including after reload.
Also, a SignalBlock class used to temporarily block a signal-slot pair
- #557: Allow console stack to be set outside of exceptions (see also: pg.stack)
- #558: CanvasItem save/restore, make Canvas ui easier to embed
- #559: Image exporter gets option to invert value while leaving hue fixed
- #560: Add function to enable faulthandler on all threads, also allow Mutex to be used as
drop-in replacement for python's Lock
- #567: Flowchart
- Add several new data nodes
- Add floordiv node
- Add EvalNode.setCode
- Binary operator nodes can select output array type
- #568: LinearRegionItem
- InfiniteLine can draw markers attached to the line
- InfiniteLine can limit the region of the viewbox over which it is drawn
- LinearRegionItem gets customizable line swap behavior (lines can block or push each other)
- Added LinearRegionItem.setHoverBrush
- #580: Allow calling sip.setapi in subprocess before pyqtgraph is imported
- #582: Add ComboBox save/restoreState methods
- #586: ParameterTree
- Add GroupParameter.sigAddNew signal
- systemsolver: add method for checking constraints / DOF
- add systemsolver copy method
- Parameter.child raises KeyError if requested child name does not exist
- #587: Make PathButton margin customizable
- #588: Add PlotCurveItem composition mode
- #589: Add RulerROI
- #591: Add nested progress dialogs
- #597: Fancy new interactive fractal demo
- #621: RGB mode for HistogramLUTWidget
- #628,670: Add point selection in ScatterPlotWidget
- #635: PySide2 support
- #671: Add SVG export option to force non-scaling stroke
- #676: OpenGL allow for panning in the plane of the camera
- #683: Allow data filter entries to be updated after they are created
- #685: Add option to set enum default values in DataFilterWidget
- #710: Adds ability to rotate/scale ROIs by mouse drag on the ROI itself (using alt/shift modifiers)
- #813,814,817: Performance improvements
- #837: Added options for field variables in ColorMapWidget
- #840, 932: Improve clipping behavior
- #841: Set color of tick-labels separately
- #922: Curve fill for fill-patches
- #996: Allow the update of LegendItem
- #1023: Add bookkeeping exporter parameters
- #1072: HDF5Exporter handling of ragged curves with tests
- #1124: Syntax highlighting for examples.
- #1154: Date axis item
- #393: NEW show/hide gradient ticks NEW link gradientEditor to others
- #1211: Add support for running pyside2-uic binary to dynamically compile ui files
API / behavior changes:
- Deprecated graphicsWindow classes; these have been unnecessary for many years because
widgets can be placed into a new window just by calling show().
- #158: Make DockArea compatible with Qt Designer
- #406: Applying alpha mask on numpy.nan data values
- #566: ArrowItem's `angle` option now rotates the arrow without affecting its coordinate system.
The result is visually the same, but children of ArrowItem are no longer rotated
(this allows screen-aligned text to be attached more easily).
To mimic the old behavior, use ArrowItem.rotate() instead of the `angle` argument.
- #673: Integer values in ParameterTree are now formatted as integer (%d) by default, rather than
scientific notation (%g). This can be overridden by providing `format={value:g}` when
creating the parameter.
- #374: ConsoleWidget uses the console's namespace as both global and local scope, which
- #410: SpinBox siPrefix without suffix is not longer allowed, select only numerical portion of text on focus-in
allows functions defined in the console to access the global namespace.
- #479,521: ParameterTree simple parameters check types before setting value
- #555: multiprocess using callSync='sync' no longer returns a future in case of timeout
- #583: eq() no longer compares array values if they have different shape
- #589: Remove SpiralROI (this was unintentionally added in the first case)
- #593: Override qAbort on slot exceptions for PyQt>=5.5
- #657: When a floating Dock window is closed, the dock is now returned home
- #771: Suppress RuntimeWarning for arrays containing zeros in logscale
- #942: If the visible GraphicsView is garbage collected, a warning is issued.
- #958: Nicer Legend
- #963: Last image in image-stack can now be selected with the z-slider
- #992: Added a setter for GlGridItem.color.
- #999: Make outline around fillLevel optional.
- #1014: Enable various arguments as color in colormap.
- #1044: Raise AttributeError in __getattr__ in graphicsWindows (deprecated)
- #1055: Remove global for CONFIG_OPTIONS in setConfigOption
- #1066: Add RemoteGraphicsView to __init__.py
- #1069: Allow actions to display title instead of name
- #1074: Validate min/max text inputs in ViewBoxMenu
- #1076: Reset currentRow and currentCol on GraphicsLayout.clear()
- #1079: Improve performance of updateData PlotCurveItem
- #1082: Allow MetaArray.__array__ to accept an optional dtype arg
- #841: set color of tick-labels separately
- #1111: Add name label to GradientEditorItem
- #1145: Pass showAxRect keyword arguments to setRange
- #1184: improve SymbolAtlas.getSymbolCoords performance
- #1198: improve SymbolAtlas.getSymbolCoords and ScatterPlotItem.plot performance
- #1197: Disable remove ROI menu action in handle context menu
- #1188: Added support for plot curve to handle both fill and connect args
- #801: Remove use of GraphicsScene._addressCache in translateGraphicsItem
- Deprecates registerObject meethod of GraphicsScene
- Deprecates regstar argument to GraphicsScene.__init__
- #1166: pg.mkQApp: Pass non-empty string array to QApplication() as default
- #1199: Pass non-empty sys.argv to QApplication
- #1090: dump ExportDialog.exporterParameters
- #1173: GraphicsLayout: Always call layout.activate() after adding items
- #1097: pretty-print log-scale axes labels
- #755: Check lastDownsample in viewTransformChanged
- #1216: Add cache for mapRectFromView
- #444: Fix duplicate menus in GradientEditorItem
- #151: Optionally provide custom PlotItem to PlotWidget
- #1093: Fix aspectRatio and zoom range issues when zooming
- #390: moved some functionality from method 'export' to new method
- #468: Patch/window handling
- #392: new method 'getAxpectRatio' with code taken from 'setAspectLocked'
- #1206: Added context menu option to parametertree
- #1228: Minor improvements to LegendItem
Bugfixes:
- #88: Fixed image scatterplot export
- #356: Fix some NumPy warnings
- #408: Fix `cleanup` when the running qt application is not a QApplication
- #410: SpinBox fixes
- fixed bug with exponents disappearing after edit
- fixed parsing of values with junk after suffix
- fixed red border
- reverted default decimals to 6
- make suffix editable (but show red border if it's wrong)
- revert invalid text on focus lost
- siPrefix without suffix is no longer allowed
- fixed parametree sending invalid options to spinbox
- fix spinbox wrapping (merged #159 from @lidstrom83)
- fixed parametertree ignoring spinbox bounds (merged #329 from @lidstrom83)
- fixed spinbox height too small for font size
- ROI subclass getArrayRegion methods are a bit more consistent (still need work)
- #424: Fix crash when running pyqtgraph with python -OO
- #429: Fix fft premature slicing away of 0 freq bin
- #458: Fixed image export problems with new numpy API
- #478: Fixed PySide image memory leak
- #475: Fixed unicode error when exporting to SVG with non-ascii symbols
- #477: Fix handling of the value argument to functions.intColor
- #485: Fixed incorrect height in VTickGroup
- #514: Fixes bug where ViewBox emits sigRangeChanged before it has marked its transform dirty.
- #516,668: Fix GL Views being half size on hidpi monitors
- #526: Fix autorange exception with empty scatterplot
- #528: Prevent image downsampling causing exception in makeQImage
- #530: Fixed issue where setData only updated opts if data is given
- #541: Fixed issue where render would error because 'mapToDevice' would return None if the view size was too small.
- #553: Fixed legend size after remove item
- #555: Fixed console color issues, problems with subprocess closing
- #559: HDF5 exporter: check for ragged array length
- #563: Prevent viewbox auto-scaling to items that are not in the same scene. (This could
happen if an item that was previously added to the viewbox is then removed using scene.removeItem().
- #564: Allow console exception label to wrap text (prevents console
growing too large for long exception messages)
- #565: Fixed AxisItem preventing mouse events reaching the ViewBox if it is displaying grid lines
and has its Z value set higher than the ViewBox.
- #567: fix flowchart spinbox bounds
- #569: PlotItem.addLegend will not try to add more than once
- #570: ViewBox: make sure transform is up to date in all mapping functions
- #577: Fix bargraphitem plotting horizontal bars
- #581: Fix colormapwidget saveState
- #586: ParameterTree
- Make parameter name,value inint args go through setValue and setName
- Fix colormapwidget saveState
- #589: Fix click area for small ellipse/circle ROIs
- #592,595: Fix InvisibleRootItem issues introduced in #518
- #596: Fix polyline click causing lines to bedrawn to the wrong node
- #598: Better ParameterTree support for dark themes
- #599: Prevent invalid list access in GraphicsScene
- #623: Fix PyQt5 / ScatterPlot issue with custom symbols
- #626: Fix OpenGL texture state leaking to wrong items
- #627: Fix ConsoleWidget stack handling on python 3.5
- #633: Fix OpenGL cylinder geometry
- #637: Fix TypeError in isosurface
- #641,642: Fix SVG export on Qt5 / high-DPI displays
- #645: ScatterPlotWidget behaves nicely when data contains infs
- #653: ScatterPlotItem: Fix a GC memory leak due to numpy issue 6581
- #648: fix color ignored in GLGridItem
- #671: Fixed SVG export failing if the first value of a plot is nan
- #674: Fixed parallelizer leaking file handles
- #675: Gracefully handle case where image data has size==0
- #679: Fix overflow in Point.length()
- #682: Fix: mkQApp returned None if a QApplication was already created elsewhere
- #689: ViewBox fix: don't call setRange with empty args
- #693: Fix GLLinePlotItem setting color
- #696: Fix error when using PlotDataItem with both stepMode and symbol
- #697: Fix SpinBox validation on python 3
- #699: Fix nan handling in ImageItem.setData
- #713: ConsoleWidget: Fixed up/down arrows sometimes unable to get back to the original
(usually blank) input state
- #715: Fix file dialog handling in Qt 5
- #718: Fix SVG export with items that require option.exposedRect
- #721: Fixes mouse wheel ignoring disabled mouse axes -- although the scaling was correct,
it was causing auto range to be disabled.
- #723: Fix axis ticks when using self.scale
- #739: Fix handling of 2-axis mouse wheel events
- #742: Fix Metaarray in python 3
- #758: Fix remote graphicsview "ValueError: mmap length is greater than file size" on OSX.
- #763: Fix OverflowError when using Auto Downsampling.
- #767: Fix Image display for images with the same value everywhere.
- #770: Fix GLVieWidget.setCameraPosition ignoring first parameter.
- #782: Fix missing FileForwarder thread termination.
- #787: Fix encoding errors in checkOpenGLVersion.
- #793: Fix wrong default scaling in makeARGB
- #815: Fixed mirroring of x-axis with "invert Axis" submenu.
- #824: Fix several issues related with mouse movement and GraphicsView.
- #832: Fix Permission error in tests due to unclosed filehandle.
- #836: Fix tickSpacing bug that lead to axis not being drawn.
- #861: Fix crash of PlotWidget if empty ErrorBarItem is added.
- #868: Fix segfault on repeated closing of matplotlib exporter.
- #875,876,887,934,947,980: Fix deprecation warnings.
- #886: Fix flowchart saving on python3.
- #888: Fix TreeWidget.topLevelItems in python3.
- #924: Fix QWheelEvent in RemoteGraphicsView with pyqt5.
- #935: Fix PlotItem.addLine with 'pos' and 'angle' parameter.
- #949: Fix multiline parameters (such as arrays) reading from config files.
- #951: Fix event firing from scale handler.
- #952: Fix RotateFree handle dragging
- #953: Fix HistogramLUTWidget with background parameter
- #968: Fix Si units in AxisItem leading to an incorrect unit.
- #970: Always update transform when setting angle of a TextItem
- #971: Fix a segfault stemming from incorrect signal disconnection.
- #972: Correctly include SI units for log AxisItems
- #974: Fix recursion error when instancing CtrlNode.
- #987: Fix visibility reset when PlotItems are removed.
- #998: Fix QtProcess proxy being unable to handle numpy arrays with dtype uint8.
- #1010: Fix matplotlib/CSV export.
- #1012: Fix circular texture centering
- #1015: Iterators are now converted to NumPy arrays.
- #1016: Fix synchronisation of multiple ImageViews with time axis.
- #1017: Fix duplicate paint calls emitted by Items on ViewBox.
- #1019: Fix disappearing GLGridItems when PlotItems are removed and readded.
- #1024: Prevent element-wise string comparison
- #1031: Reset ParentItem to None on removing from PlotItem/ViewBox
- #1044: Fix PlotCurveItem.paintGL
- #1048: Fix bounding box for InfiniteLine
- #1062: Fix flowchart context menu redundant menu
- #1062: Fix a typo
- #1073: Fix Python3 compatibility
- #1083: Fix SVG export of scatter plots
- #1085: Fix ofset when drawing symbol
- #1101: Fix small oversight in LegendItem
- #1113: Correctly call hasFaceIndexedData function
- #1139: Bug fix in LegendItem for `setPen`, `setBrush` etc (Call update instead of paint)
- #1110: fix for makeARGB error after #955
- #1063: Fix: AttributeError in ViewBox.setEnableMenu
- #1151: ImageExporter py2-pyside fix with test
- #1133: compatibility-fix for py2/pyside
- #1152: Nanmask fix in makeARGB
- #1159: Fix: Update axes after data is set
- #1156: SVGExporter: Correct image pixelation
- #1169: Replace default list arg with None
- #770: Do not ignore pos argument of setCameraPosition
- #1180: Fix: AxisItem tickFont is defined in two places while only one is used
- #1168: GroupParameterItem: Did not pass changed options to ParameterItem
- #1174: Fixed a possible race condition with linked views
- #809: Fix selection of FlowchartWidget input/output nodes
- #1071: Fix py3 execution in flowchart
- #1212: Fix PixelVectors cache
- #1161: Correctly import numpy where needed
- #1218: Fix ParameterTree.clear()
- #1175: Fix: Parameter tree ignores user-set 'expanded' state
- #1219: Encode csv export header as unicode
- #507: Fix Dock close event QLabel still running with no parent
- #1222: py3 fix for ScatterPlotWidget.setSelectedFields
- #1203: Image axis order bugfix
- #1225: ParameterTree: Fix custom context menu
Maintenance:
- Lots of new unit tests
- Lots of code cleanup
- A lot of work on CI pipelines, test coverage and test passing (see e.g. #903,911)
- #546: Add check for EINTR during example testing to avoid sporadic test failures on travis
- #624: TravisCI no longer running python 2.6 tests
- #695: "dev0" added to version string
- #865,873,877 (and more): Implement Azure CI pipelines, fix Travis CI
- #991: Use Azure Pipelines to do style checks, Add .pre-commit-config.yaml
- #1042: Close windows at the end of test functions
- #1046: Establish minimum numpy version, remove legacy workarounds
- #1067: Make scipy dependency optional
- #1114: doc: Fix small mistake in introduction
- #1131: Update CI/tox and Enable More Tests
- #1142: Miscellaneous doc fixups
- #1179: DateAxisItem: AxisItem unlinking tests and doc fixed
- #1201: Get readthedocs working
- #1214: Pin PyVirtualDisplay Version
- #1215: Skip test when on qt 5.9
- #1221: Identify pyqt5 5.15 ci issue
- #1223: Remove workaround for memory leak in QImage
- #1217: Get docs version and copyright year dynamically
- #1229: Wrap text in tables in docs
- #1231: Update readme for 0.11 release
pyqtgraph-0.10.0
New Features:
- PyQt5 support
- Options for interpreting image data as either row-major or col-major
- InfiniteLine and LinearRegionItem can have attached labels
- DockArea:
- Dock titles can be changed after creation
- Added Dock.sigClosed
- Added TextItem.setColor()
- FillBetweenItem supports finite-connected curves (those that exclude nan/inf)
API / behavior changes:
- Improved ImageItem performance for some data types by scaling LUT instead of image
- Change the defaut color kwarg to None in TextItem.setText() to avoid changing
the color every time the text is changed.
- FFT plots skip first sample if x-axis uses log scaling
- Multiprocessing system adds bytes and unicode to the default list of no-proxy data types
- Version number scheme changed to be PEP440-compliant (only affects installations from non-
release git commits)
Bugfixes:
- Fix for numpy API change that caused casting errors for inplace operations
- Fixed git version string generation on python3
- Fixed setting default values for out-of-bound points in pg.interpolateArray
- Fixed plot downsampling bug on python 3
- Fixed invalid slice in ImageItem.getHistogram
- DockArea:
- Fixed adding Docks to DockArea after all Docks have been removed
- Fixed DockArea save/restoreState when area is empty
- Properly remove select box when export dialog is closed using window decorations
- Remove all modifications to python builtins
- Better Python 2.6 compatibility
- Fix SpinBox decimals
- Fixed numerous issues with ImageItem automatic downsampling
- Fixed PlotItem average curves using incorrect stepMode
- Fixed TableWidget eating key events
- Prevent redundant updating of flowchart nodes with multiple inputs
- Ignore wheel events in GraphicsView if mouse interaction is disabled
- Correctly pass calls to QWidget.close() up the inheritance chain
- ColorMap forces color inputs to be sorted
- Fixed memory mapping for RemoteGraphicsView in OSX
- Fixed QPropertyAnimation str/bytes handling
- Fixed __version__ string update when using `setup.py install` with newer setuptools
Maintenance:
- Image comparison system for unit testing plus tests for several graphics items
- Travis CI and coveralls/codecov support
- Add examples to unit tests
pyqtgraph-0.9.10
Fixed installation issues with more recent pip versions.
pyqtgraph-0.9.9
API / behavior changes:
- Dynamic import system abandoned; pg now uses static imports throughout.
- Flowcharts and exporters have new pluggin systems
- Version strings:
- __init__.py in git repo now contains latest release version string
(previously, only packaged releases had version strings).
- installing from git checkout that does not correspond to a release
commit will result in a more descriptive version string.
- Speed improvements in functions.makeARGB
- ImageItem is faster by avoiding makeQImage(transpose=True)
- ComboBox will raise error when adding multiple items of the same name
- ArrowItem.setStyle now updates style options rather than replacing them
- Renamed GraphicsView signals to avoid collision with ViewBox signals that
are wrapped in PlotWidget: sigRangeChanged => sigDeviceRangeChanged and
sigTransformChanged => sigDeviceTransformChanged.
- GLViewWidget.itemsAt() now measures y from top of widget to match mouse
event position.
- Made setPen() methods consistent throughout the package
- Fix in GLScatterPlotItem requires that points will appear slightly more opaque
(so you may need to adjust to lower alpha to achieve the same results)
New Features:
- Added ViewBox.setLimits() method
- Adde ImageItem downsampling
- New HDF5 example for working with very large datasets
- Removed all dependency on scipy
- Added Qt.loadUiType function for PySide
- Simplified Profilers; can be activated with environmental variables
- Added Dock.raiseDock() method
- ComboBox updates:
- Essentially a graphical interface to dict; all items have text and value
- Assigns previously-selected text after list is cleared and repopulated
- Get, set current value
- Flowchart updates
- Added Flowchart.sigChartChanged
- Custom nodes may now be registered in sub-menu trees
- ImageItem.getHistogram is more clever about constructing histograms
- Added FillBetweenItem.setCurves()
- MultiPlotWidget now has setMinimumPlotHeight method and displays scroll bar
when plots do not fit inside the widget.
- Added BarGraphItem.shape() to allow better mouse interaction
- Added MeshData.cylinder
- Added ViewBox.setBackgroundColor() and GLViewWidget.setBackgroundColor()
- Utilities / debugging tools
- Mutex used for tracing deadlocks
- Color output on terminal
- Multiprocess debugging colors messages by process
- Stdout filter that colors text by thread
- PeriodicTrace used to report deadlocks
- Added AxisItem.setStyle()
- Added configurable formatting for TableWidget
- Added 'stepMode' argument to PlotDataItem()
- Added ViewBox.invertX()
- Docks now have optional close button
- Added InfiniteLine.setHoverPen
- Added GLVolumeItem.setData
- Added PolyLineROI.setPoints, clearPoints, saveState, setState
- Added ErrorBarItem.setData
Bugfixes:
- PlotCurveItem now has correct clicking behavior--clicks within a few px
of the line will trigger a signal.
- Fixes related to CSV exporter:
- CSV headers include data names, if available
- Exporter correctly handles items with no data
- pg.plot() avoids creating empty data item
- removed call to reduce() from exporter; not available in python 3
- Gave .name() methods to PlotDataItem, PlotCurveItem, and ScatterPlotItem
- fixed ImageItem handling of rgb images
- fixed makeARGB re-ordering of color channels
- fixed unicode usage in AxisItem tick strings
- fixed PlotCurveItem generating exceptions when data has length=0
- fixed ImageView.setImage only working once
- PolyLineROI.setPen() now changes the pen of its segments as well
- Prevent divide-by-zero in AxisItem
- Major speedup when using ScatterPlotItem in pxMode
- PlotCurveItem ignores clip-to-view when auto range is enabled
- FillBetweenItem now forces PlotCurveItem to generate path
- Fixed import errors and py3 issues in MultiPlotWidget
- Isosurface works for arrays with shapes > 255
- Fixed ImageItem exception building histogram when image has only one value
- Fixed MeshData exception caused when vertexes have no matching faces
- Fixed GLViewWidget exception handler
- Fixed unicode support in Dock
- Fixed PySide crash caused by emitting signal from GraphicsObject.itemChange
- Fixed possible infinite loop from FiniteCache
- Allow images with NaN in ImageView
- MeshData can generate edges from face-indexed vertexes
- Fixed multiprocess deadlocks on windows
- Fixed GLGridItem.setSize
- Fixed parametertree.Parameter.sigValueChanging
- Fixed AxisItem.__init__(showValues=False)
- Fixed TableWidget append / sort issues
- Fixed AxisItem not resizing text area when setTicks() is used
- Removed a few cyclic references
- Fixed Parameter 'readonly' option for bool, color, and text parameter types
- Fixed alpha on GLScatterPlotItem spots (formerly maxed out at alpha=200)
- Fixed a few bugs causing exit crashes
pyqtgraph-0.9.8 2013-11-24
API / behavior changes:
- ViewBox will auto-range when ImageItem changes shape
- AxisItem:
- Smarter about deciding which ticks get text
- AxisItem.setScale(float) has the usual behavior, but .setScale(None)
is deprecated. Instead use:
AxisItem.enableAutoSIPrefix(bool) to enable/disable SI prefix scaling
- Removed inf/nan checking from PlotDataItem and PlotCurveItem; improved
performance
New Features:
- Support for dynamic downsampling and view clipping in PlotDataItem and
PlotItem
- Added 'connect' option to PlotDataItem and PlotCurveItem to affect which
line segments are drawn
- Support for FFT with non-uniform time sampling
- Added BarGraphItem
- OpenGL:
- Added export methods to GLViewWidget
- Wireframe meshes
- GLLinePLotItem gets antialiasing, accepts array of colors
- GLMeshItem accepts ShaderProgram or name of predefined program
- Added GLBarGraphItem
- LegendItem:
- User-draggable
- Allow custom ItemSamples
- Symbol support
- Support for removing items
- ScatterPlotWidget, ColorMapWidget, and DataFilterWidget are stable
- TableWidget:
- Made numerically sortable
- Added setEditable method
- AxisItem ability to truncate axis lines at the last tick
- arrayToQPath() added 'finite' connection mode which omits non-finite
values from connections
- pg.plot() and pg.PlotWidget() now accept background argument
- Allow QtProcess without local QApplication
- Support for dashing in mkPen()
- Added Dock.close()
- Added style options to flowchart connection lines
- Added parentChanged and viewChanged hooks to GraphicsItem
- Bidirectional pseudoScatter for beeswarm plots
- Added exit() function for working around PyQt exit crashes
- Added PolylineROI.getArrayRegion()
Bugfixes:
- Many Python 3 compatibility fixes
- AxisItem:
- Correctly handles scaling with values that are not power of 10
- Did not update grid line length when plot stretches
- Fixed unicode handling in AxisItem label
- ViewBox:
- Overhauled to fix issues with aspect locking
- ViewBox context menu elements are no longer deleted when using
flowchart with pyside
- Fixed view linking with inverted y axis
- Prevent auto-range disabling when dragging with one mouse axis diabled
- Ignore inf and nan when auto-ranging
- ParameterTree:
- fixed TextParameter editor disappearing after focus lost
- ListParameter: allow unhashable types as parameter values.
- Exporting:
- ImageExporter correctly handles QBrush with style=NoBrush
- SVGExporter text, gradients working correctly
- SVGExporter correctly handles coordinate corrections for groups with
mixed elements
- ImageView:
- Fixed auto-levelling when normalization options change
- Added autoHistogramRange argument to setImage
- ScatterPlotItem:
- Fixed crashes caused by ScatterPlotItem
- Fixed antialiasing
- arrayToQPath performance improved for python 3
- Fixed makeQImage on many platforms (notably, on newer PyQt APIs)
- Removed unnecessary scipy imports for faster import
- GraphItem reports pixel margins to improve auto-range
- Add backport ordereddict to repository; old OrderedDict class is removed
- Corrected behavior of GraphicsView.setBackground
- Fixed PySide bug listing image formats
- Fixed QString -> str conversions in flowchart
- Unicode file name support when exporting
- Fixed MatplotlibWidget + PySide
- Fixed 3D view updating after every scene change
- Fixed handling of non-native dtypes when optimizing with weave
- RemoteGraphicsView fixed for PyQt 4.10, Python 3
- Fixed GLLinePlotItem line width option
- HistogramLUTWidget obeys default background color
- ScaleBar complete rewrite
- GraphItem obeys antialiasing flag
- Workaround for PySide/QByteArray memory leak
- Fixed example --test on windows, python3
- Luke finished dissertation
pyqtgraph-0.9.7 2013-02-25
Bugfixes:
- ArrowItem auto range now works correctly
- Dock drag/drop fixed on PySide
- Made padding behavior consistent across ViewBox methods
- Fixed MeshData / python2.6 incompatibility
- Fixed ScatterPlotItem.setSize and .setPointData
- Workaround for PySide bug; GradientEditor fixed
- Prefer initially selecting PlotItem rather then ViewBox when exporting
- Fixed python3 import error with flowcharts
Cleaned up examples, made code editable from example loader
Minor documentation updates
Features:
- Added GraphItem class for displaying networks/trees
- Added ColorMap class for mapping linear gradients and generating lookup
tables
(Provides gradient editor functionality without the GUI)
- Added ColorMapWidget for complex user-defined color mapping
- Added ScatterPlotWidget for exploring relationships in multi-column
tables
- Added ErrorBarItem
- SVG and image exporters can now copy to clipboard
- PlotItem gets new methods: addLine, setLabels, and listDataItems
- AxisItem gets setTickFont method
- Added functions.arrayToQPath, shared between GraphItem and PlotCurveItem
- Added gradient editors to parametertree
- Expanded documentation, added beginning of Qt crash course
Bugfixes:
- Fixed auto-ranging bugs: ViewBox now properly handles pixel-padding
around data items
- ViewBox ignores bounds of zoom-rect when auto ranging
- Fixed AxisItem artifacts
- Fixed GraphicsItem.pixelVector caching bugs and simplified workaround for
fp-precision errors
- LinearRegionItem.hoverEvent obeys 'movable' flag
- Fixed PlotDataItem nan masking bugs
- Workaround for segmentation fault in QPainter.drawPixmapFragments
- multiprocess and RemoteGraphicsView work correctly in Windows.
- Expanded python 3 support
- Silenced weave errors by default
- Fixed " 'win' in sys.platform " occurrences matching 'darwin' (duh)
- Workaround for change in QImage API (PyQt 4.9.6)
- Fixed axis ordering bug in GLScatterPlotItem
pyqtgraph-0.9.6 2013-02-14
Features:
- Added GraphItem class for displaying networks/trees
- Added ColorMap class for mapping linear gradients and generating lookup
tables
(Provides gradient editor functionality without the GUI)
- Added ColorMapWidget for complex user-defined color mapping
- Added ScatterPlotWidget for exploring relationships in multi-column
tables
- Added ErrorBarItem
- SVG and image exporters can now copy to clipboard
- PlotItem gets new methods: addLine, setLabels, and listDataItems
- AxisItem gets setTickFont method
- Added functions.arrayToQPath, shared between GraphItem and PlotCurveItem
- Added gradient editors to parametertree
- Expanded documentation, added beginning of Qt crash course
Bugfixes:
- Fixed auto-ranging bugs: ViewBox now properly handles pixel-padding
around data items
- ViewBox ignores bounds of zoom-rect when auto ranging
- Fixed AxisItem artifacts
- Fixed GraphicsItem.pixelVector caching bugs and simplified workaround for
fp-precision errors
- LinearRegionItem.hoverEvent obeys 'movable' flag
- Fixed PlotDataItem nan masking bugs
- Workaround for segmentation fault in QPainter.drawPixmapFragments
- multiprocess and RemoteGraphicsView work correctly in Windows.
- Expanded python 3 support
- Silenced weave errors by default
- Fixed " 'win' in sys.platform " occurrences matching 'darwin' (duh)
- Workaround for change in QImage API (PyQt 4.9.6)
- Fixed axis ordering bug in GLScatterPlotItem
Plotting performance improvements:
- AxisItem shows fewer tick levels in some cases.
- Lots of boundingRect and dataBounds caching
(improves ViewBox auto-range performance, especially with multiple plots)
- GraphicsScene avoids testing for hover intersections with non-hoverable
items
(much less slowdown when moving mouse over plots)
Improved performance for remote plotting:
- reduced cost of transferring arrays between processes (pickle is too
slow)
- avoid unnecessary synchronous calls
Added RemoteSpeedTest example
pyqtgraph-0.9.5 2013-01-11
Plotting performance improvements:
- AxisItem shows fewer tick levels in some cases.
- Lots of boundingRect and dataBounds caching
(improves ViewBox auto-range performance, especially with multiple plots)
- GraphicsScene avoids testing for hover intersections with non-hoverable
items
(much less slowdown when moving mouse over plots)
Improved performance for remote plotting:
- reduced cost of transferring arrays between processes (pickle is too
slow)
- avoid unnecessary synchronous calls
Added RemoteSpeedTest example
Documentation:
- Added documentation on export system
- Added flowchart documentation and custom node example
Bugfixes:
- prevent PlotCurveItem drawing shadow when unnecessary
- deprecated flowchart.Node.__getattr__ -- causes too many problems.
pyqtgraph-0.9.4 2013-01-07
Documentation:
- Added documentation on export system
- Added flowchart documentation and custom node example
Bugfixes:
- prevent PlotCurveItem drawing shadow when unnecessary
- deprecated flowchart.Node.__getattr__ -- causes too many problems.
Bugfix: prevent adding invalid entry to sys.path when running examples
pyqtgraph-0.9.3 2012-12-29
Bugfix: prevent adding invalid entry to sys.path when running examples
Bugfixes:
- SVG export text elements use generic font-family as backup, corrected item
transformation issues
- Fixed RuntimeError caused when clearing item hierarchies from ViewBox
- Fixed example execution bug
Packaging maintenance:
- Added missing files to MANIFEST.in, fixed setup.py package detection
- Added debian control files for building source packages
- Fixed version numbering in doc, __init__.py
pyqtgraph-0.9.2 2012-12-29
Bugfixes:
- SVG export text elements use generic font-family as backup, corrected item
transformation issues
- Fixed RuntimeError caused when clearing item hierarchies from ViewBox
- Fixed example execution bug
Packaging maintenance:
- Added missing files to MANIFEST.in, fixed setup.py package detection
- Added debian control files for building source packages
- Fixed version numbering in doc, __init__.py
pyqtgraph-0.9.1 2012-12-27
Removed incorrect version numbers
Correction to setup.py - use install_requires to inform pip of dependencies.
Fixed doc version (again)
Added debian control files
bugfixes for new package structure
pyqtgraph-0.9.0 2012-12-27
* Initial release.
|