1
0

releasenotes.rst 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. Release notes
  2. =============
  3. Version 2.0
  4. -----------
  5. Pynsist 2 only supports 'bundled' Python, and therefore only Python 3.5 and
  6. above. For 'installer' format Python and older Python versions, use Pynsist 1.x
  7. (``pip install pynsist<2``).
  8. * Pynsist installers can now install into a per-user directory, allowing them
  9. to be used without admin access.
  10. * Get wheels for the installer from local directories, by listing the
  11. directories in ``extra_wheel_sources`` in the ``[Include]`` section.
  12. * Better error message when copying fails on a namespace package.
  13. Version 1.12
  14. ------------
  15. * Fix a bug with unpacking wheels on Python 2.7, by switching to ``pathlib2``
  16. for the pathlib backport.
  17. Version 1.11
  18. ------------
  19. * Lists in the config file, such as ``packages`` and ``pypi_wheels`` can now
  20. begin on the line after the key.
  21. * Clearer error if the specified config file is not found.
  22. Version 1.10
  23. ------------
  24. * New optional field ``publisher``, to provide a publisher name in the uninstall
  25. list.
  26. * The uninstall information in the registry now also includes ``DisplayVersion``.
  27. * The directory containing ``python.exe`` is now added to the ``%PATH%``
  28. environment variable when your application runs. This fixes a DLL loading
  29. issue for PyQt5 if you use bundled Python.
  30. * When installing a 64-bit application, the uninstall registry keys are now
  31. added to the 64-bit view of the registry.
  32. * Fixed an error when using wheels which install files into the same package,
  33. such as ``PyQt5`` and ``PyQtChart``.
  34. * Issue a warning when we can't find the cache directory on Windows.
  35. Version 1.9
  36. -----------
  37. * When building an installer with Python 3.6 or above, bundled Python
  38. is now the default. For Python up to 3.5, 'installer' remains
  39. the default format. You can override the default by specifying ``format`` in
  40. the :ref:`cfg_python` of the config file.
  41. * The C Runtime needed for bundled Python is now installed 'app-local', rather
  42. than downloading and installing Windows Update packages at install time. This
  43. is considerably simpler, but the app-local runtime will not be updated by
  44. Windows Update. A new ``include_msvcrt`` config option allows the developer to
  45. exclude the app-local runtime - their applications will then depend on the
  46. runtime being installed systemwide.
  47. Version 1.8
  48. -----------
  49. * New example applications using:
  50. - PyQt5 with QML
  51. - OpenCV and PyQt5
  52. - `Pywebview <https://github.com/r0x0r/pywebview>`__
  53. * The code to pick an appropriate wheel now considers wheels with Python version
  54. specific ABI tags like ``cp35m``, as well as the stable ABI tags like ``abi3``.
  55. * Fixed a bug with fetching a wheel when another version of the same package
  56. is already cached.
  57. * Fixed a bug in extracting files from certain wheels.
  58. * Installers using bundled Python may need a Windows
  59. update package for the Microsoft C runtime. They now download this from the
  60. `RawGit <https://rawgit.com/>`__ CDN, rather than hitting GitHub directly.
  61. * If the Windows update package fails to install, an error message will be
  62. displayed.
  63. Version 1.7
  64. -----------
  65. * Support for downloading packages as wheels from PyPI, and new
  66. `PyQt5 <https://github.com/takluyver/pynsist/tree/master/examples/pyqt5>`__ and
  67. `Pyglet <https://github.com/takluyver/pynsist/tree/master/examples/pyglet>`__
  68. examples which use this feature.
  69. * Applications can include commands to run at the Windows command prompt. See
  70. :ref:`command_config`.
  71. Version 1.6
  72. -----------
  73. * Experimental support for creating installers that bundle Python with the
  74. application.
  75. * Support for Python 3.5 installers.
  76. * The user agent is set when downloading Python builds, so downloads from
  77. Pynsist can be identified.
  78. * New example applications using PyGI, numpy and matplotlib.
  79. * Fixed a bug with different path separators in ``exclude`` patterns.
  80. Version 1.5
  81. -----------
  82. * New ``exclude`` option to cut unnecessary files out of directories and
  83. packages that are copied into the installer.
  84. * The ``installer.nsi`` script is now built using `Jinja <http://jinja.pocoo.org/>`_
  85. templates instead of a custom templating system. If you have specify a custom
  86. ``nsi_template`` file, you will need to update it to use Jinja syntax.
  87. * GUI applications (running under :program:`pythonw`) have stdout and stderr
  88. written to a log file in ``%APPDATA%``. This should catch all ``print``,
  89. warnings, uncaught errors, and avoid the program freezing if it tries to
  90. print.
  91. * Applications run in a console (under :program:`python`) now show the traceback
  92. for an uncaught error in the console as well as writing it to the log file.
  93. * Install :program:`pynsist` command on Windows.
  94. * Fixed an error message caused by unnecessarily rerunning the installer for the
  95. PEP 397 ``py`` launcher, bundled with Python 2 applications.
  96. * :program:`pynsist` now takes a :option:`--no-makensis` option, which stops it
  97. before running :program:`makensis` for debugging.
  98. Version 1.0
  99. -----------
  100. * New ``extra_preamble`` option to specify a snippet of Python code to run
  101. before your main application.
  102. * Packages used in the specified entry points no longer need to be listed
  103. under the Include section; they are automatically included.
  104. * Write the crash log to a file in ``%APPDATA%``, not in the installation
  105. directory - on modern Windows, the application can't normally write to its
  106. install directory.
  107. * Added an example application using pygtk.
  108. * :doc:`installers` documentation added.
  109. * Install Python into ``Program Files\Common Files`` or ``Program Files (x86)\Common Files``,
  110. so that if both 32- and 64-bit Pythons of the same version are installed,
  111. neither replaces the other.
  112. * When using 64-bit Python, the application files now go in ``Program Files`` by
  113. default instead of ``Program Files (x86)``.
  114. * Fixed a bug in finding the NSIS install directory on 64-bit Windows.
  115. * Fixed a bug that prevented using multiprocessing in installed applications.
  116. * Fixed a bug where the ``py.exe`` launcher was not included if you built a
  117. Python 2 installer using Python 3.
  118. * Better error messages for some invalid input.
  119. Version 0.3
  120. -----------
  121. * Extra files can now be installed into locations other than the installation
  122. directory.
  123. * Shortcuts can have non-Python commands, e.g. to create a start menu shortcut
  124. to a help file.
  125. * The Python API has been cleaned up, and there is some :doc:`documentation
  126. <api/index>` for it.
  127. * Better support for modern versions of Windows:
  128. * Uninstall shortcuts correctly on Windows Vista and above.
  129. * Byte compile Python modules at installation, because the ``.pyc`` files
  130. can't be written when the application runs.
  131. * The Python installers are now downloaded over HTTPS instead of using GPG to
  132. validate them.
  133. * Shortcuts now launch the application with the working directory set to the
  134. user's home directory, not the application location.
  135. Version 0.2
  136. -----------
  137. * Python 2 support, thanks to `Johannes Baiter <https://github.com/jbaiter>`_.
  138. * Ability to define multiple shortcuts for one application.
  139. * Validate config files to produce more helpful errors, thanks to
  140. `Tom Wallroth <https://github.com/devsnd>`_.
  141. * Errors starting the application, such as missing libraries, are now written
  142. to a log file in the application directory, so you can work out what
  143. happened.