releasenotes.rst 7.0 KB

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