# What's New in Leo 4.4.3

The highlights of Leo 4.4.3:

- @test and @suite nodes may now be embedded directly in derived files.
- Added support for chapters in Leo's core.
- Added support for zipped .leo files.
- The new leoBridge module allows full access to all of Leo's capabilities from programs running outside of Leo.
- Better support for the winpdb debugger.
- Added support for @enabled-plugins and @open-with nodes in settings files.
- Removed all gui-dependent code from Leo's core.
- The__wx_gui plugin is now functional.

Contents

- What's New in Leo 4.4.3
  - Important new features
  - New commands
  - New settings
  - Plugins
  - Minor improvements

## Important new features

- @test and @suite nodes may now be embedded in derived files.

- Added support for chapters to Leo's core

  Chapters are regions of a Leo outline whose root is an @chapter node. @chapter nodes may appear anywhere in an outline, but the create-chapter command (see below) creates @chapter nodes as children of a single @chapters node.

  Selecting a chapter shows the nodes in the selected chapter; in this respect, chapters are like hoists. The main chapter represents the entire outline and can not be deleted by name. When chapters are in effect, Leo creates a hidden @chapters node containing one @chapter node for every chapter except the 'main' chapter.

  Associated settings:

  - The @bool use_chapters setting determines whether chapters are enabled.
  - The @bool use_chapter_tabs setting determines whether the chapters pop-up menu appears in the icon area. Choosing a chapter name from this list selects a chapter.

  When chapters are enabled, the Cmds:Chapters menu shows all available chapter commands:

  - The create-chapter command creates an @chapter node and with a single node.
  - The delete-chapter command deletes the presently selected chapter.
  - The select-chapter command makes only the nodes of the selected chapter visible.
  - The move-node-to-chapter, clone-node-to-chapter and copy-node-to-chapter commands add a node (and its descendants) to another chapter.

- Added support for compressed .leo files

  Leo now has save-file-as-zipped and save-file-as-unzipped commands, and corresponding Save File As Zipped and Save File as Unzipped items in the File menu. These are exactly the same as Leo's Save As commands except that they temporarily force Leo to write the file in either zipped or unzipped format. Leo remembers whether a file was originally zipped. The read logic handles either zipped or unzipped .leo files automatically. The write logic will zip the file if it was originally zipped or if the save-file-as-zipped command is being executed. Leo writes files with .leo extension, regardless of whether the file is zipped or not. Zipped .leo files contain a single archive, whose name is the same as the .leo file itself.

  Notes: The new save commands suffice to compress and expand .leo files on a file-by-file basis. In particular, there is no need for any user settings. Outside of Leo you can change the extension to .leo.zip and use stuffit or other program to expand the .leo file contained within. I've only tested this on XP, but it should work everywhere...At present the code uses Python's zipfile module to read and write zipped files.

- Added leoBridge module. See the leoBridge chapter for full details.

- Removed all (or almost all) gui-independent from Leo's core.

- Improved support for the winpdb debugger. See the debugging with Leo chapter for full details.

## New commands

    apropos-debugging-commands
    clean-all-lines
    clone-node-to-chapter
    copy-node-to-chapter
    create-chapter
    delete-chapter
    goto-first-visible-node
    move-node-to-chapter
    print-plugin-handlers
    print-plugins
    print-settings
    save-file-as-unzipped
    save-file-as-zipped
    select-chapter

## New settings

    @openwith nodes
    @enabled-plugins nodes
    @bool center_selected_tree_node
    @bool chdir_to_relative_path
    @bool contractVisitedNodes
    @bool force_newlines_in_at_nosent_bodies
    @bool invisible_outline_navigation
    @bool show_full_tracebacks_in_scripts
    @bool use_chapter_tabs
    @bool use_chapters

For details of these new settings, see leoSettings.leo

## Plugins

- The __wx_gui.py plugin is now minimally functional. Alas, some problems remain. See the bug list in the plugin for details.
- Added new search path for pluginsManager.txt For details, see: http://sourceforge.net/forum/message.php?msg_id=4169720
- Changed bindings in the UniversalScrolling plugin.
- Registered the write-restructured-text command in rst3 plugin.

## Minor improvements

- See the release notes for a list of the many bugs fixed in Leo 4.4.3.
- Warn on dubious section brackets. For details, see http://sourceforge.net/forum/message.php?msg_id=4162357
- Added Find and Spell tabs to log pane on startup. The spell tab is only shown if Aspell was properly imported.
- Added shortcuts for goto-first/last-sibling commands.
- Made escape in the minibuffer work like ctrl-g.
- Only do one message re writing recent files.
- Added handleUrlInUrlNode helper for OnIconDoubleClick.
- Made copied nodes valid Leo files. For details, see http://sourceforge.net/forum/message.php?msg_id=4014079
- changeAll now works like findAll
- Created standard pluginsManager.txt only if it does not exist.
- Clear status line in repeat-complex-command.