-- 0.5.0 (CVS) --
* wxPython 2.7/Python 2.5 compatibility
* Internationalisation (I18N) support:
* IDE language preference setting:
People willing to translate the IDE UI strings to their own
languages please contact me.
I recommend poEdit for managing the catalogs.
* Design time support for i18n _() strings in the generated source.
* Improved design time sizer/control creation:
* Sizers and controls are now automatically linked up
or added as sizer items when the sizers and control are
created from the Palette on the Designer.
* Added some missing FlexGridSizer properties
* Improved unicode source handling
* Using the coding delaration if defined (# -*- coding: name -*- )
* Handling for utf8 bom
* Much better support for running Boa from an exe
* Option to use image modules generated by resourcepackage so
all images can be bundled inside the exe
* Fixed problems with debugging from an exe.
(Remember that the debug server still has to run from source)
* Added new controls to the Palette:
* wx: Listbook, Choicebook, GIFAnimationCtrl, MediaCtrl
* wx.lib: ScrollPanel, HyperLinkCtrl, AnalogClock, FileBrowseButtons,
MultiSplitterWindow, Throbber, Ticker, DragScroller
* Support for using wx.ArtProvider for bitmap properties in the Designer
* When the file dialog opens from the property editor, set the
Image Type to ArtProvider and click Open, the ArtProvider dialog
* If you want to install your own custom ArtProviders into the IDE,
you need to write a Boa plug-in that installs your ArtProvider
(e.g. wx.ArtProvider.PushProvider()) and also append your custom
artid strings to the PaletteStore.artProviderArtIds list.
(An example will be provided soon)
* SVN file explorer support (under Plug-ins)
* Works almost exactly like the current CVS support
* Requires command-line svn to be installed on your machine
* Better command-line completion on modules imported in your code
* Set Preferences->General->Editor->importOnCodeComplete to True
to turn on this feature.
It tries to import the specified modules in the Shell namespace.
It's off by default because importing arbitrary modules can
* -wxVersionSelect, -W command-line switch, for specifying a
-- 0.4.4 (Release) --
* Bugfixes and more wx 2.5 name fixes
* wxMAC compatibility improvements thanks to Kevin Walzer.
* Recommended to use at least Python 2.4.1 and wxPython 2.6.0 under OS X
* Added support for the unicode encoding declaration (PEP 263), thanks to
* Added support for wx.GridBagSizer
* Added property editors for BackgroundStyle and WindowVariant
* Fixed Inspector redraw issues
-- 0.4.3 (CVS) --
* Converted all core/plugins/example code to wxPython 2.5 style code.
The migration to 2.5 is now complete :)
* Improved Code Completion and Call Tips.
* Bugfixes for 2.5 style wx code completion/call tips.
* Using wx.py.introspect for shell call tips.
* Added code completion/call tips for local/global variables if their
type could be picked up from the scope in which the name is used.
* IDE Framework registration api in Plugins.py.
* registerFileType(Controller, Model=None, newName='', addToNew=True, aliasExts=())
* registerPalettePage(paletteName, paletteTitle)
* registerComponent(paletteName, Control, controlName, Companion)
* registerTool(name, func, bmp='-', key='')
* registerLanguageSTCStyle(name, lang, STCClass, stylesFile, insertPos=None)
* registerPreference(pluginName, prefName, defPrefValSrc, docs=, info='')
* All core and plugin code updated to use the api.
This hopefully makes extending Boa less cryptic.
* Bugfixes, code cleanups, removed wxPython <= 2.4 special cased code.
* Python modernizations.
e.g. List Comps instead of "map(lambda" and *arg passing instead of "apply()"
-- 0.4.2 (CVS) --
* Bugfixes, code cleanups.
* Conversion of all gui filetype modules in the core to 2.5 style code.
* Moved CalendarCtrl from UserCompanions plug-in to DateTimeCompanions.py
* Added new wx.DatePickerCtrl to DateTimeCompanions.py, thanks to Oleg Deribas.
* Added preference setting to toggle specialiased Zope debugging
(for PythonScripts and PageTemplates), now off by default.
* Debug speed is much faster without Zope support for cpu intensive code.
* Copy to clipboard from selection in the help controller.
-- 0.4.1 (CVS) --
* You can now combine frame attributes and custom classes.
* In other words you may define a custom class that maps to a frame attribute.
* This allows you to specify controls at run time by passing the class as a
parameter and binding it to a frame attribute.
-- 0.4.0 (Release) --
* Updated the Designer to parse and generate wxPython 2.5 style code.
* Updated code completion for wxPython 2.5 style code.
* Core upgrader script under the Tools menu
* PyPlot plug-in
* Many bug fixes
-- 0.3.1 (Release) --
* Primarily a bugfix release
* Fixes issues with attribute resolution in the Designer, small issue with
unicode handling and the Zope debugger product.
-- 0.3.0 (Release) --
* Started with the conversion to wxPython 2.5 compatible code, but it's
currently impossible to support both 2.4 and 3.5 in the GUI Designer
because of the wx namespace change.
In __version__.py, wx_version_max can be set to None to run under 2.5,
but beware that there are still many issues under 2.5 and the Designer
* BoaDebugger zope product added as an alternative/improved interface for
debugging Zope, thanks to Robert Boulanger. See Debugger/BoaDebugger/*
* Added properies/events:
* wxComboBox enter event
* wxTextCtrl.MaxLength (thanks Oleg Deribas)
* New wxPython/Python docs bundle
* Tutorial improvements (thanks Kevin Light)
* Added examples for resource images and wizards
* Special attributess can now span multiple lines
(continued lines must end on comma)
* wxWindows renamed to wxWidgets
* Many bug fixes
* Fixed problem with window id handling
* Fixed Sizer and linked Sizer properties
* Fixed KeyError bug if renaming after recreating a control in the Designer.
* Fixed consistency problem with multi-line vs single-line indent and comment
Thanks to Tim Diggins for report and initial patch
* Improved error messages in case of user changed GUI code.
-- 0.2.8 (CVS) --
* Improved EOL handling
* Converting (Edit->Convert...)
* Mode switching (Edit->STC settings...)
* Warning when mixed EOLs are detected
* Added application todo view
* On app module, Views->Application todos
* Gives navigatible app wide todo list
* Much improved support for maskededit family of controls
* Added page about Sizers to the application help
* It's not linked to yet, but can be opened in a browser,
* Many bug fixes
* Fixed process freezing if printing > 4k text
* Sizer, Designer and Editor bugs
* BicycleRepairMan plug-in bugs
-- 0.2.7 (CVS) --
* Support for wxWizards
On the New Palette page see, wxWizard, wxPyWizardPage and
It is your own responsibility to create the pages and run
* Support for the masked edit family of controls:
wxMaskedTextCtrl, wxIpAddrCtrl, wxMaskedComboBox,
wxMaskedNumCtrl, wxTimeCtrl, wxIntCtrl
wxPython 126.96.36.199 is required.
* Feature additions/fixes to the Debugger:
* Improved remote debugging capabilities by providing
client<->server filepath mappings.
* Added a Jump action/change execution point
supported by Python 2.3.
* Added script that supports hooking the Boa debugger
to sys.excepthook. See Debugger/sysexcepthook.
* Improvements to sizers:
* Navigation to control/sizer by double clicking
in the collection editor on an item.
* Invalid sizer choices removed from the Sizer
* Less pedantic on which designer view you have to
click to create a new sizer or data object.
It now automatically switches to the right
designer view and creates the control there.
* Many sizer bugs fixed.
* Improved process management
* Now using wxProcess instead of Python's popen.
* This means we have access to pids under windows
and also the ability to kill processes.
* A list of processes started from Boa is now available
as a page called Tasks in the Error/Output notebook.
* You will be prompted at shutdown if there are any
sub-processes still running.
* Re-added non-us keyboard support.
Please test this if you use Alt-Gr.
Set under Preferences->General->Editor->handleSpecialEuropeanKeys
* New toolbutton support through DoAddTool. This provides
labels and checked/radio tools.
* Many bug fixes and small improvements.
-- 0.2.6 (CVS) --
* Micro release sorts out some issues on Linux and other small changes and fixes.
-- 0.2.5 (CVS) --
* Collection Editors can now add multiple methods to collections
This means the following properties have these methods:
* wxToolBar.Tools : AddTool, AddContol, AddSeparator
* wxImageList.Images : Add, AddWithColourMask
* wxMenu.Items : Append, AppendMenu, AppendSeparator
* Collection Editor items can be reordered by clicking the Up and Down
arrows on the Collection Editor toolbar.
* Support added for using Sizers in the Designer.
* All standard sizers added:
* wxBoxSizer, wxGridSizer, wxFlexGridSizer, wxStaticBoxSizer,
* They are available from the Containers/Layout page
* Sizers have their own view like the Data View.
* Visual cues and selectors are drawn around sizered controls in
yellow and green.
* Can navigate to the sizer by right clicking on sizered selection tag
* None values are used in empty Sizer items, this is valid in the
Designer, but you will be warned when a session is posted that still
contain these None values as they are not valid outside the Designer
and can cause wxPython to crash.
Items with None values are visually indicated with the standard
red dashed style.
* Connect Sizers to controls via the Sizer property of a control.
* Add sizer items (window, sizer and spacer items) from the Items
collection property of a sizer (double-click)
Link the item to a window or sizer in the Inspector.
* Currently sizer layout is applied in addition to absolute coordinate
positioning and sizes.
Hopefully this can be balanced to a best of both worlds approach.
* See Examples/layout/SizersInBoa.py
* Python Resource modules now available as an alternative way to use
* Accepts the format generated by wxPython.tools.img2py, only requires
that the file starts with this header: #Boa:PyImgResource:
* Resource modules have an Images view of their contents.
* Bitmap property editors can open resource modules and generate the
* The ImageEditor plug-in can convert images to PyImgResource modules.
It can also edit images directly inside resource modules.
* See Examples/images/ResourceModules/
* EOL handling in source files have been completely redone.
* File EOL is now detected and used per file. New files use the OS
* Copy pasting code into your source from outside Boa should no longer
cause mixed EOL issues on Windows.
* Files are now always opened in binary mode.
* At startup source templates (used by code genration) are initialised
with the OS default EOL.
Tabs/Spaces in source templates are also set at startup.
* ModuleFinder plug-in, enter the import name to find the file in
sys.path and open the module in the IDE. Available from Tools.
* Converted the FormatParagraph IDLE extension to be a Boa plug-in.
* Added wxTreeListCtrl and wxListView to the Palette.
* Errors & Output notebook now has menu to load/save the history.
* Many plug-ins now have their images embedded in their source.
* Added feature to the debugger to display the value of a watch or a
name in the Output window.
* This is useful for big values like large lists or dicts.
* Ctrl-double-click is the shortcut for this action.
* Also added Preference to minimize Debugger on running. Useful for GUI
Minimizing only works properly on Windows.
* Support for editing/browsing tar.gz files, like zip files work now.
* Editor toolbar should behave better on wxMAC.
-- 0.2.4 (CVS) --
* Pervasive changes was made to the code to use string methods.
Also a few lambda -> list comprehension translations.
* Added BicycleRepairMan (Python Refactoring) support.
First install BicycleRepairMan, then enable it under
and restart Boa.
From the Edit menu the following actions are supported:
BRM - Find references
BRM - Find definition
BRM - Rename
BRM - Extract method
BRM - Extract local variable
BRM - Inline local variable
BRM - Undo last
From the File menu a module can be explicitly loaded into
Modules can also be added from the Explorer in file system
* In the process of adding the BRM support, I extended Boa's
model/view/controller baseclasses to allow Plugins to extend
existing MVC interfaces.
* Help Book support. Boa can now manage .hhp, .hhc and .hhk files.
Different views allow you to define the file list and
drag and drop to create the contents tree and indexes.
* Help books available in the Boa help can now be changed under
Preferences->Help books in the Explorer.
* Help now has a PyDoc help page, similar in functionality to
the Tkinter pydoc search dialog installed with Python, but
integrated in the Help window.
* Zip Transport now allows write/clipboard operations.
Create a new blank archive by right clicking and selecting
New->Empty zip archive from a File system folder.
* Default resource config files are now stored in Config and
no longer in the Boa root.
If $HOME is defined .boa-constructor is now used as default
instead of .boa, to be the same as the Debian boa.
* Plugin Preference storage changes.
__init__.plug-in.py file no longer used.
To avoid writing to Plug-ins directory this info is now stored
* Plug-ins can now automatically expose Preference settings,
available from: Preferences->Plug-ins->Preferences
* Plug-in filetypes (Pascal, Java, Pyrex) now generate their
STC config files automatically and store them in the resource
config directory instead of in Plug-ins.
* The Shell can now be either be the Boa Shell, PyCrust or
entirely turned off.
* The Explorer page can also be turned off, but this is not
recommended unless you have a good reason as things like
Preferences or Zope are only available through the Explorer.
* Filesystem items can be Inspected to see file attributes like
creation and modification date.
* wxSTC/wxHTMLWindow views now have the option to print.
* A new Tools menu has been added to the main menu.
* Simple regex editor/matcher window now available under Tools.
It's very simple but still handy.
* New Palette page "wxPython.lib", currently only has wxGenStaticText.
This is now the recommended replacement for wxStaticText as it
behaves properly in the Designer on Linux.
* Fixed bug in wxSplitterWindow companion where deletion could
lead to a crash.
* Added explicit config files for the __WXMAC__ platform and also
hopefully improved initial layout.
* Wrote a simple Explorer wrapper so the wxPython demo can be "hosted"
in Boa. I still use Robin's excellent demo often and it's handy to
have the code directly in Boa
Turned off by default, turn on under
Preferences->Plug-ins->Plug-in files, and restart Boa.
* Input page, typically for non-gui Python scripts that read from
the keyboard (stdin).
It appears as a page on the TraceBack/Output/Error notebook.
To turn on choose: File->Toggle use input stream
* Also new for the TraceBack/Error/Output notebook, it's history
can be browsed from the new buttons on the statusbar.
-- 0.2.3 (Release) --
* Primarily a bugfix release
* Some changes to improve handling of non-ASCII source,
-- 0.2.2 (CVS) --
* A bugfix release, mostly to handle wxNotebook.AddPage parameter signature
* Script added to update generated code: Scripts/UpgradeNotebookParams.py
-- 0.2.1 (CVS) --
* A bugfix release, mostly to handle the "import string" problem.
-- 0.2.0 (Release) --
* Added Zope ExternalMethod for runtime hooking of the debugger.
No longer need to run z2.py from the IDE, see the Debugger page in the docs.
* Changes to accommodate MacOS X, many, many problems remain, but Boa can now
at least start up on MacOS X! Thanks to Kevin Altis.
* Added plug-in for using XRC files.
* Many minor bug fixes
-- 0.1.5 (CVS) --
* Generated source can now be wrapped over multiple lines.
Lines are only broken up after commas, inside brackets,
but this works well enough.
3 new Preferences added to the General->Code generation
section. This feature is now on by default.
* I've abandoned the strategy of renaming plug-ins to disable them.
This was too unfriendly for things like CVS.
Also plug-ins can now be ordered.
Both these changes are implemented with a new file called
__init__.plug-in.py in your Plug-ins directory which defines the
list of disabled and ordered plugin names.
Ordered plug-ins are executed first (in order!)
Everything can be managed thru the GUI under
* Improved Find/Replace dialog.
Now supports 'Find in files' and seaching in the Explorer.
Thanks to Roman Yakovenko for the patches!
* Refactored Controller menu/toolbar definitions to use the
same format that View menu/toolbar definitions uses.
One visible result of this is that menu items can now display images.
* Improved tab support. The frame designer can now properly generate
tab indented code.
People who care about this, please test as I don't use this.
* Added ImageEditor.plug-in.py.
This is an image editor I hacked up ages ago.
(I needed masked PNG support!)
I just wrapped up the editor as a Boa View.
It's rough but it works ;)
(Hint: When editing images with masks, set the mask again before
saving, otherwise the previous mask is used)
* Shortcut keys now work better on Linux (Ctrl-S works!!!).
* Composite controls like wxGrid now work properly in the Designer
Unfortunately many other controls still misbehave on Linux :(
* Added wxSpinCtrl
* Zope: Added SiteErrorLog support.
Just delete your zoa folder in your Zope root and the new
zoa will be automatically installed.
* Removed the bundled PyChecker from the repository.
Boa now tries to use the one installed on your system.
-- 0.1.4 - alpha (CVS) --
-- 0.1.3 - alpha (CVS) --
02-02-02 - 02-08-08
* Python 2.2 compatibility issues fixed
* Feature rich out of process Debugger capable of debugging most Python.
* Tested with Python, wxPython, Tkinter, Zope
* Special Zope support allowing you to step and break in Python scripts
Also support for step and break in PageTemplates but for Zope 2.6
* Many internal refactorings which includes moving the models and controllers
into the Models package and making wxPython module support optional.
This implements many of the requirements from the wxIDLE discussuions.
Also all Zope support moved to the ZopeLib package.
-- 0.1.1 - alpha (CVS) --
-- 0.1.0 - alpha (Release) --
01-05-01 - 02-01-28
* Compatible with and now requires 2.3.2.
* Files can now be opened, edited and saved over any supported transport
* Explorer improvements
* Clipboard improved, can copy/paste between any transports
* DAV transport added.
* Preferences are now be maintained in the Explorer tree as items in the
* Many new preferences
* Key definitions editable
* Style editor for user defined source code styles, colours and fonts.
* Pluggable components and transports
* New components , filetypes and transports can be added by putting the
module in the Plug-ins directory. Examples provided.
* Support for opening html, xml, and c++ files
* Extensive Zope support added
* Complete integrated help for Boa, Python, wxPython and CVS.
* The Help Tips have been expanded a lot, please work thru it as
soon as possible as it contains essential information.
* Much better support for using preferences stored in your home directory.
* All image transparency issues resolved (using PNGs for everything)
* Improved code completion, call tips and code browsing.
* Syntax checking for Python source
* New controls available from the Palette.
* More properties added for standard controls
* Resource usage under Win9x improved
* Stability and speed improvements
* Code generation is safer with rollback on errors and warnings for
* Improved integration between your code and generated code
* Special object attributes can be linked to properties
* The Designer can generate source for controls not directly supported from
the Palette if you define it's name and equivalent class in a
_custom_classes class attribute.
-- 0.0.5 --
00-09-01 - 01-03-18
* New Getting Started Guide and Tutorial
* Support for window layout with Anchors integrated with the Designer
* Redid the Explorer, the following explorer types supported
* File/Package Explorer
* Can filter on all files for general purpose cliboard use
* CVS Explorer
* command line CVS needs to be installed successfully
* basic cvs functionality: browse, update, commit, add,
remove, status, log, diff, tag, branch
* CVS conflicts view
* Cancelable progress dialog
* Zope Explorer
* Management: Cut, copy, paste, rename, delete, import, export
* Creation from the Palette
* Property management thru the Inspector
* SSH Explorer: Browse remote SSH accounts, e.g. SourceForge.
* SSH needs to be installed, remote keys must be uploaded
* Copy and paste to file clipboard
* Remote file operations
* Zip Explorer: Read only zip browsing like directories
* FTP Explorer: Browse FTP connections
* sys.path Explorer
* Config now handled thru the GUI, and edited in the Inspector.
No more messing with config files.
* Replaced the Normal file dialog with Boa file dialog,
* Implemented with the Explorers
* Avoids the NT / STC / FileDialog problem
* Shows nice icons for Boa files
* Possible (not used yet) to browse to Zope/SSH/etc documents
* Added Grid drawing (different optional styles) to background
of the Designer
* Redid Designer selection logic (still buggy) to respect original
size, and handle non grid positions and sizes.
* Keyboard sizing and moving by 1 pixel increments
* Clipboard functionality (Cut, copy, paste) implemented in
the frame Designer and Data view. (not perfect yet)
* Multiple select (for grouped moving) implemented in the frame
* Control Alignment and Size dialogs added (from right-click)
* The necessary import code is automatically added to source
* Sub properties now work correctly
* Default actions supported, double-clicking on components
* Default events (Like EVT_BUTTON)
* Open default properties (Like a Collection Editor for
* The debugger works better, but suffers from same defects as
other in-process Python debuggers.
* Can browse (ctrl/mouse over) variable values, almost like
debugger tips in Delphi and other IDEs, only does single
word variables currently, clicking adds as watch.
* Support for C++ source
* Added ToolTipString property
* Added Style constructor parameter
* Python 2.0 compatibility
* Traceback browser:
* jump to source from a tree ctrl showing exception tracebacks
* Create a traceback tree from a Boa.trace file
* New palette look saving some space.
* Modules are parsed when needed allowing snappier opening - Shane Hathaway
* Auto created frames (main frame) works correctly.
* Code browsing/jumping/marking history (back and forward buttons)
* More code completion support (but not enough yet)
* wxPython methods for wxPython object decendants
* Attribute type and methods
* Limited support for distutils (Setup module)
* support for py2exe
-- 0.0.4 --
00-03-01 - 00-08-30
* Put the website into Zope
* Put application help into Zope
* Added CVS view to the Explorer
* Links to wxWindows documentation from the Companion classes are now
generated by a script
* Moved all image loading into an ImageStore cache type object
* Changed Boa to not have to be started in the Boa directory
* Added find in application
* Syntax highlighting editor
* Auto indent
* Smart delete
* Indent blocks
* Comment blocks
* Breakpoints & Tracepoints
* Code browsing (limited support)
Hold down ctrl and move the cursor over code, click on
underlined code to browse to it
* Code completion, currently only object attributes self.*
* OGL improvements including saving of position
* Keyboard support in the Inspector, Editor and Designer
* Added Zope interface
* Fixed a lot of little bugs in the Inspector
* Added a MenuBar for the Editor
* Added About box
* Made a subset of views optional
* Added ClassLink property editor for controls linking to
* Added FrameBars
* Added the python profiler
* Added Tim Peter's Cyclops, cycle finder
* Controls that don't accept mouse clicks
(wxNotebook, wxStaticLine, wxStaticBox)
are now selectable and dragable
* Added context sensitive help (press F1 in source code)
* Added CollectionEditors
These are new properties on components which provides
design-time item list maintenance.
In the source, each Collection Editor looks after its
This is a rough first draft and will be refined.
A very big gotcha with most of these collection properties
is that they are not live. For most you will have to close
open and reopen the Designer for changes to take effect :(
Please note that whitespace is even more meaningful
than usual ;) So leave generated code as is!
The following have been implemented to various degrees:
* wxImageList.Images (plus image enabled editor)
* wxToolBar.Tools (plus EVT_TOOL)
* wxMenu.Items (plus EVT_MENU)
Still to be implemented:
* wxAcceleratorTable.Entries (broken, doesn't fit yet)
* wxBoxSizers, wxStaticBoxSizer
* Sub menus
* Different types of insertion methods
* Directory compare (lib's cmp) and diff facilities (Tim Peter's ndiff)
* Fixed many memory leaks and circular references
-- 0.0.3 --
Merged wxGTK changes back into source. Added wxGTK.py, wxMSW.py for platform
Added a preview of pyDE (currently a view on ModuleModel)
Added searching functionality to Help (incomplete/bugs)
Differentiating between command and normal events, window id generation
Added window id allocation
Resized images to 16*16. This sorts out the last of the MSW incompatibilities
GTK changes caused
Updated frame and ctrl renaming code to also maintain window ids
Hazy period in which I:
- prototyped a debugger
- got a new system (K6-3 450, 3dfx Voodoo 3500 :)
- played a hell of a lot of Unreal / Homeworld
Resumed work on Pygasm.
Trying to only develop in Pygasm, missing syntax hilighting and prod tools,
going a bit slowly but docs and view are nice
Implemented screensize from system metrics as suggested on mailing list.
Started with watches in the debugger
Added attributes to classes (moduleparse.Class.attributes,
Added different help for Pygasm/wxPython/Python
Added TextModel and TextView
Refactored help into neater classes
Made more images for debugger
Hunted down bugs in the Editor
My birthday, did absolutely nothing!
Refactored documentation. Added AppModuleDocView
Put Linux (RH 6.1) on my old machine (P1 166)
Dialog to ask to save changes on closing (long overdue, lost code a few times)
Added an Explorer to Boa, packages, folders and supported modules are browseable
Replaced wxBitmapButtons with generic toggle buttons on the palette
Added source code line no's to ExploreView, double click to go to source line
Added dynamic context sensitive toolbar buttons (reflecting methods of the
editor, model and view)
00-02-13 - 20
Changed ExploreView & HierarchyView to have one root (GTK friendly)
Implemented basic architechture for invisible components
Various bug fixes
00-02-21 - 28
Worked on wxGTK compatibility
Designed a web site
Added Dialogs, these are created directly in your source code at the current
cursor position from a template
Many bug fixes