-
Notifications
You must be signed in to change notification settings - Fork 5
/
NEWS.txt
538 lines (407 loc) · 18.7 KB
/
NEWS.txt
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
py2app 0.4.2
------------
py2app 0.4.2 is a minor feature release
Features:
- When the '--strip' option is specified we now also remove '.dSYM'
directories from the bundle.
- Remove dependency on a 'version.plist' file in the python framework
- A new recipe for `PyQt`_ 4.x. This recipe was donated by Kevin Walzer.
- A new recipe for `virtualenv`_, this allows you to use py2app from
a virtual environment.
- Adds support for converting ``.xib`` files (NIB files for
Interface Builder 3)
- Introduces an experimental plugin API for data converters.
A conversion plugin should be defined as an entry-point in the
``py2app.converter`` group::
setup(
...
entry_points = {
'py2app.converter': [
"label = some_module:converter_function",
]
},
...
)
The conversion function should be defined like this::
from py2app.decorators import converts
@converts('.png')
def optimze_png(source, proposed_destionation, dryrun=0):
# Copy 'source' to 'proposed_destination'
# The conversion is allowed to change the proposed
# destination to another name in the same directory.
pass
.. `virtualenv`_: http://pypi.python.org/pypi/virtualenv
py2app 0.4.0
------------
py2app 0.4.0 is a minor feature release (and was never formally released).
Features:
- Support for CoreData mapping models (introduced in Mac OS X 10.5)
- Support for python packages that are stored in zipfiles (such as ``zip_safe``
python eggs).
Bug fixes:
- Fix incorrect symlink target creation with an alias bundle that has included
frameworks.
- Stuffit tends to extract archives recursively, which results in unzipped
code archives inside py2app-created bundles. This version has a workaround
for this "feature" for Stuffit.
- Be more carefull about passing non-constant strings as the template argumenti
of string formatting functions (in the app and bundle templates), to avoid
crashes under some conditions.
py2app 0.3.6
------------
py2app 0.3.6 is a minor bugfix release.
Bug fixes:
- Ensure that custom icons are copied into the output bundle
- Solve compatibility problem with some haxies and inputmanager plugins
py2app 0.3.5
------------
py2app 0.3.5 is a minor bugfix release.
Bug fixes:
- Resolve disable_linecache issue
- Fix Info.plist and Python path for plugins
py2app 0.3.4
------------
py2app 0.3.4 is a minor bugfix release.
Bug fixes:
- Fixed a typo in the py2applet script
- Removed some, but not all, compiler warnings from the bundle template
(which is still probably broken anyway)
py2app 0.3.3
------------
py2app 0.3.3 is a minor bugfix release.
Bug Fixes:
- Fixed a typo in the argv emulation code
- Removed the unnecessary py2app.install hack (setuptools does that already)
py2app 0.3.2
------------
py2app 0.3.2 is a major bugfix release.
Functional changes:
- Massively updated documentation
- New prefer-ppc option
- New recipes: numpy, scipy, matplotlib
- Updated py2applet script to take options, provide --make-setup
Bug Fixes:
- No longer defaults to LSPrefersPPC
- Replaced stdlib usage of argvemulator to inline version for i386
compatibility
py2app 0.3.1
------------
py2app 0.3.1 is a minor bugfix release.
Functional changes:
- New EggInstaller example
Bug Fixes:
- Now ensures that the executable is +x (when installed from egg this may not
be the case)
py2app 0.3.0
------------
py2app 0.3.0 is a major feature enhancements release.
Functional changes:
- New --xref (-x) option similar to py2exe's that produces
a list of modules and their interdependencies as a HTML
file
- sys.executable now points to a regular Python interpreter
alongside the regular executable, so spawning sub-interpreters
should work much more reliably
- Application bootstrap now detects paths containing ":"
and will provide a "friendly" error message instead of just
crashing <http://python.org/sf/1507224>.
- Application bootstrap now sets PYTHONHOME instead of
a large PYTHONPATH
- Application bootstrap rewritten in C that links to
CoreFoundation and Cocoa dynamically as needed,
so it doesn't imply any particular version of the runtime.
- Documentation and examples changed to use setuptools
instead of distutils.core, which removes the need for
the py2app import
- Refactored to use setuptools, distributed as an egg.
- macholib, bdist_mpkg, modulegraph, and altgraph are now
separately maintained packages available on PyPI as eggs
- macholib now supports little endian architectures,
64-bit Mach-O headers, and reading/writing of
multiple headers per file (fat / universal binaries)
py2app 0.2.1
------------
py2app 0.2.1 is a minor bug fix release.
Bug Fixes:
- macholib.util.in_system_path understands SDKs now
- DYLD_LIBRARY_PATH searching is fixed
- Frameworks and excludes options should work again.
py2app 0.2.0
------------
py2app 0.2.0 is a minor bug fix release.
Functional changes:
- New datamodels option to support CoreData. Compiles
.xcdatamodel files and places them in the Resources dir
(as .mom).
- New use-pythonpath option. The py2app application bootstrap
will no longer use entries from PYTHONPATH unless this option
is used.
- py2app now persists information about the build environment
(python version, executable, build style, etc.) in the
Info.plist and will clean the executable before rebuilding
if anything at all has changed.
- bdist_mpkg now builds packages with the full platform info,
so that installing a package for one platform combination
will not look like an upgrade to another platform combination.
Bug Fixes:
- Fixed a bug in standalone building, where a rebuild could
cause an unlaunchable executable.
- Plugin bootstrap should compile/link correctly
with gcc 4.
- Plugin bootstrap no longer sets PYTHONHOME and will
restore PYTHONPATH after initialization.
- Plugin bootstrap swaps out thread state upon plug-in
load if it is the first to initialize Python. This
fixes threading issues.
py2app 0.1.9
------------
py2app 0.1.9 is a minor bug fix release.
Bugs fixed:
- bdist_mpkg now builds zip files that are correctly unzipped
by all known tools.
- The behavior of the bootstrap has changed slightly such that
``__file__`` should now point to your main script, rather than
the bootstrap. The main script has also moved to ``Resources``,
from ``Resources/Python``, so that ``__file__`` relative resource
paths should still work.
py2app 0.1.8
------------
py2app 0.1.8 is a major enhancements release:
Bugs fixed:
- Symlinks in included frameworks should be preserved correctly
(fixes Tcl/Tk)
- Fixes some minor issues with alias bundles
- Removed implicit SpiderImagePlugin -> ImageTk reference in PIL
recipe
- The ``--optimize`` option should work now
- ``weakref`` is now included by default
- ``anydbm``'s dynamic dependencies are now in the standard implies
list
- Errors on app launch are brought to the front so the user does
not miss them
- bdist_mpkg now compatible with pychecker (data_files had issues)
Options changed:
- deprecated ``--strip``, it is now on by default
- new ``--no-strip`` option to turn off stripping of executables
New features:
- Looks for a hacked version of the PyOpenGL __init__.py so that
it doesn't have to include the whole package in order to get
at the stupid version file.
- New ``loader_files`` key that a recipe can return in order to
ensure that non-code ends up in the .zip (the pygame recipe
uses this)
- Now scans all files in the bundle and normalizes Mach-O load
commands, not just extensions. This helps out when using the
``--package`` option, when including frameworks that have plugins,
etc.
- An embedded Python interpreter is now included in the executable
bundle (``sys.executable`` points to it), this currently only
works for framework builds of Python
- New ``macho_standalone`` tool
- New ``macho_find`` tool
- Major enhancements to the way plugins are built
- bdist_mpkg now has a ``--zipdist`` option to build zip files
from the built package
- The bdist_mpkg "Installed to:" description is now based on the
package install root, rather than the build root
py2app 0.1.7
------------
`py2app`_ 0.1.7 is a bug fix release:
- The ``bdist_mpkg`` script will now set up sys.path properly, for setup scripts
that require local imports.
- ``bdist_mpkg`` will now correctly accept ``ReadMe``, ``License``, ``Welcome``,
and ``background`` files by parameter.
- ``bdist_mpkg`` can now display a custom background again (0.1.6 broke this).
- ``bdist_mpkg`` now accepts a ``build-base=`` argument, to put build files in
an alternate location.
- ``py2app`` will now accept main scripts with a ``.pyw`` extension.
- ``py2app``'s not_stdlib_filter will now ignore a ``site-python`` directory as
well as ``site-packages``.
- ``py2app``'s plugin bundle template no longer displays GUI dialogs by default,
but still links to ``AppKit``.
- ``py2app`` now ensures that the directory of the main script is now added to
``sys.path`` when scanning modules.
- The ``py2app`` build command has been refactored such that it would be easier
to change its behavior by subclassing.
- ``py2app`` alias bundles can now cope with editors that do atomic saves
(write new file, swap names with existing file).
- ``macholib`` now has minimal support for fat binaries. It still assumes big
endian and will not make any changes to a little endian header.
- Add a warning message when using the ``install`` command rather than installing
from a package.
- New ``simple/structured`` example that shows how you could package an
application that is organized into several folders.
- New ``PyObjC/pbplugin`` Xcode Plug-In example.
py2app 0.1.6
------------
Since I have been slacking and the last announcement was for 0.1.4, here are the
changes for the soft-launched releases 0.1.5 and 0.1.6:
`py2app`_ 0.1.6 was a major feature enhancements release:
- ``py2applet`` and ``bdist_mpkg`` scripts have been moved to Python modules
so that the functionality can be shared with the tools.
- Generic graph-related functionality from ``py2app`` was moved to
``altgraph.ObjectGraph`` and ``altgraph.GraphUtil``.
- ``bdist_mpkg`` now outputs more specific plist requirements
(for future compatibility).
- ``py2app`` can now create plugin bundles (MH_BUNDLE) as well as executables.
New recipe for supporting extensions built with `sip`_, such as `PyQt`_. Note that
due to the way that `sip`_ works, when one sip-based extension is used, *all*
sip-based extensions are included in your application. In practice, this means
anything provided by `Riverbank`_, I don't think anyone else uses `sip`_ (publicly).
- New recipe for `PyOpenGL`_. This is very naive and simply includes the whole
thing, rather than trying to monkeypatch their brain-dead
version acquisition routine in ``__init__``.
- Bootstrap now sets ``ARGVZERO`` and ``EXECUTABLEPATH`` environment variables,
corresponding to the ``argv[0]`` and the ``_NSGetExecutablePath(...)`` that the
bundle saw. This is only really useful if you need to relaunch your own
application.
- More correct ``dyld`` search behavior.
- Refactored ``macholib`` to use ``altgraph``, can now generate `GraphViz`_ graphs
and more complex analysis of dependencies can be done.
- ``macholib`` was refactored to be easier to maintain, and the structure handling
has been optimized a bit.
- The few tests that there are were refactored in `py.test`_ style.
- New `PyQt`_ example.
- New `PyOpenGL`_ example.
See also:
- http://mail.python.org/pipermail/pythonmac-sig/2004-December/012272.html
.. _`py.test`: http://codespeak.net/py/current/doc/test.html
.. _`PyOpenGL`: http://pyopengl.sourceforge.net/
.. _`Riverbank`: http://www.riverbankcomputing.co.uk/
.. _`sip`: http://www.riverbankcomputing.co.uk/sip/index.php
.. _`PyQt`: http://www.riverbankcomputing.co.uk/pyqt/index.php
.. _`docutils`: http://docutils.sf.net/
.. _`setuptools`: http://cvs.eby-sarna.com/PEAK/setuptools/
py2app 0.1.5
------------
`py2app`_ 0.1.5 is a major feature enhancements release:
- Added a ``bdist_mpkg`` distutils extension, for creating Installer
an metapackage from any distutils script.
- Includes PackageInstaller tool
- bdist_mpkg script
- setup.py enhancements to support bdist_mpkg functionality
- Added a ``PackageInstaller`` tool, a droplet that performs the same function
as the ``bdist_mpkg`` script.
- Create a custom ``bdist_mpkg`` subclass for `py2app`_'s setup script.
- Source package now includes `PJE`_'s `setuptools`_ extension to distutils.
- Added lots of metadata to the setup script.
- ``py2app.modulegraph`` is now a top-level package, ``modulegraph``.
- ``py2app.find_modules`` is now ``modulegraph.find_modules``.
- Should now correctly handle paths (and application names) with unicode characters
in them.
- New ``--strip`` option for ``py2app`` build command, strips all Mach-O files
in output application bundle.
- New ``--bdist-base=`` option for ``py2app`` build command, allows an alternate
build directory to be specified.
- New `docutils`_ recipe.
Support for non-framework Python, such as the one provided by `DarwinPorts`_.
See also:
- http://mail.python.org/pipermail/pythonmac-sig/2004-October/011933.html
.. _`py.test`: http://codespeak.net/py/current/doc/test.html
.. _`GraphViz`: http://www.pixelglow.com/graphviz/
.. _`PyOpenGL`: http://pyopengl.sourceforge.net/
.. _`Riverbank`: http://www.riverbankcomputing.co.uk/
.. _`sip`: http://www.riverbankcomputing.co.uk/sip/index.php
.. _`PyQt`: http://www.riverbankcomputing.co.uk/pyqt/index.php
.. _`DarwinPorts`: http://darwinports.opendarwin.org/
.. _`docutils`: http://docutils.sourceforge.net/
.. _`setuptools`: http://cvs.eby-sarna.com/PEAK/setuptools/
.. _`PJE`: http://dirtSimple.org/
.. _`PyObjC`: http://pyobjc.sourceforge.net/
py2app 0.1.4
------------
`py2app`_ 0.1.4 is a minor bugfix release:
- The ``altgraph`` from 0.1.3 had a pretty nasty bug in it that prevented
filtering from working properly, so I fixed it and bumped to 0.1.4.
py2app 0.1.3
------------
`py2app`_ 0.1.3 is a refactoring and new features release:
- ``altgraph``, my fork of Istvan Albert's `graphlib`_, is now part of the
distribution
- ``py2app.modulegraph`` has been refactored to use ``altgraph``
- `py2app`_ can now create `GraphViz`_ DOT graphs with the ``-g`` option
(`TinyTinyEdit example`_)
- Moved the filter stack into ``py2app.modulegraph``
- Fixed a bug that may have been in 0.1.2 where explicitly included packages
would not be scanned by ``macholib``
- ``py2app.apptemplate`` now contains a stripped down ``site`` module as
opposed to a ``sitecustomize``
- Alias builds are now the only ones that contain the system and user
``site-packages`` directory in ``sys.path``
- The ``pydoc`` recipe has been beefed up to also exclude ``BaseHTTPServer``,
etc.
Known issues:
- Commands marked with XXX in the help are not implemented
- Includes *all* files from packages, it should be smart enough to strip
unused .py/.pyc/.pyo files (to save space, depending on which optimization
flag is used)
- ``macholib`` should be refactored to use ``altgraph``
- ``py2app.build_app`` and ``py2app.modulegraph`` should be refactored to
search for dependencies on a per-application basis
.. _`graphlib`: http://www.personal.psu.edu/staff/i/u/iua1/python/graphlib/html/
.. _`GraphViz`: http://www.research.att.com/sw/tools/graphviz/
.. _`TinyTinyEdit example`: http://undefined.org/~bob/TinyTinyEdit.pdf
py2app 0.1.2
------------
`py2app`_ 0.2 is primarily a bugfix release:
- The encodings package now gets included in the zip file (saves space)
- A copy of the Python interpreter is not included anymore in standalone
builds (saves space)
- The executable bootstrap is now stripped by default (saves a little space)
- ``sys.argv`` is set correctly now, it used to point to the executable, now
it points to the boot script. This should enhance compatibility with some
applications.
- Adds an "Alias" feature to modulegraph, so that ``sys.modules`` craziness
such as ``wxPython.wx -> wx`` can be accomodated (this particular craziness
is also now handled by default)
- A ``sys.path`` alternative may be passed to ``find_modules`` now, though
this is not used yet
- The ``Command`` instance is now passed to recipes instead of the
``Distribution`` instance (though no recipes currently use either)
- The post-filtering of modules and extensions is now generalized into a
stack and can be modified by recipes
- A `wxPython`_ example demonstrating how to package `wxGlade`_ has been
added (this is a good example of how to write your own recipe, and how to
deal with complex applications that mix code and data files)
- ``PyRuntimeLocations`` is now set to (only) the location of the current
interpreter's ``Python.framework`` for alias and semi-standalone build
modes (enhances compatibility with extensions built with an unpatched
Makefile with Mac OS X 10.3's Python 2.3.0)
Known issues:
- Includes *all* files from packages, it should be smart enough to strip
unused .py/.pyc/.pyo files (to save space, depending on which optimization
flag is used).
.. _`wxGlade`: http://wxglade.sourceforge.net/
py2app 0.1.1
------------
`py2app`_ 0.1.1 is primarily a bugfix release:
- Several problems related to Mac OS X 10.2 compatibility and standalone
building have been resolved
- Scripts that are not in the same directory as setup.py now work
- A new recipe has been added that removes the pydoc -> Tkinter dependency
- A recipe has been added for `py2app`_ itself
- a `wxPython`_ example (superdoodle) has been added.
Demonstrates not only how easy it is (finally!) to bundle
`wxPython`_ applications, but also how one setup.py can
deal with both `py2exe`_ and `py2app`_.
- A new experimental tool, py2applet, has been added.
Once you've built it (``python setup.py py2app``, of course), you should
be able to build simple applications simply by dragging your main script
and optionally any packages, data files, Info.plist and icon it needs.
Known issues:
- Includes *all* files from packages, it should be smart enough to strip
unused .py/.pyc/.pyo files (to save space, depending on which
optimization flag is used).
- The default ``PyRuntimeLocations`` can cause problems on machines that
have a /Library/Frameworks/Python.framework installed. Workaround is
to set a plist that has the following key:
``PyRuntimeLocations=['/System/Library/Frameworks/Python.framework/Versions/2.3/Python']``
(this will be resolved soon)
py2app 0.1
----------
(first public release)
`py2app`_ is the bundlebuilder replacement we've all been waiting
for. It is implemented as a distutils command, similar to `py2exe`_.
.. _`wxPython`: http://www.wxpython.org/
.. _`py2app`: http://undefined.org/python/#py2app
.. _`py2exe`: http://starship.python.net/crew/theller/py2exe/