The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.92

  • Wx::Scintilla is now stable and replaces Wx::STC in Padre (AZAWAWI)
  • New Task 3.0 which fixes bidirectional communication and thus enables services that run indefinitely in reserved threads (ADAMK)
  • New Style 2.0 which simplifies implementations, adds style localisation and allows styling of the GUI (ADAMK)
  • Added fine-grained Wx locking mechanism so that high frequency asyncronous GUI code doesn't create high frequency asyncronous flickering. Padre flickers much less now on Win32 (ADAMK)
  • Added Replace in Files using matching logic to Find in Files (ADAMK)
  • Added plugin compatibility tracking to Padre::Search (ADAMK)
  • Wx doesn't seem to let us change the PaneBorder setting after pane creation, so leave it off and have an empty area rather than have a double-width border (ADAMK)
  • Wx constants are now Wx::FOO instead of Wx::wxFOO... and these ones are actually constants instead of strange AUTOLOAD weirdness (ADAMK)
  • We now SetEndAtLastLine(0) on editor panels so you can scroll one page past the end of the document and type into relaxing clear space (ADAMK)
  • Tabs without filename now also backed up (SEWI)
  • The syntax highligher spawns the perl -c call with the unsaved file as STDIN rather than by filename. This seems to make things that rely on FindBin like Module::Install Makefile.PL files work properly (ADAMK)
  • Some tools are more thorough about indicating they are not used (ADAMK)
  • Added support for task parents and owners being notified when a task has started running in the background (ADAMK)
  • Task owners can now hijack status bar messages if they wish to (ADAMK)
  • The task manager can now run without the need for threads. However, every task will block the foreground and makes Padre unusable, so this feature is reserved for profiling Padre's performance (ADAMK)
  • The advanced setting threads_stacksize allows the tuning of the thread stack size. On Win32 the default is dropped to 4meg (ADAMK)
  • The advanced setting threads_maximum allows the tuning of the maximum number of background worker threads (ADAMK)
  • Padre::Wx::App will use Wx internal singleton logic instead of duplicating it again for itself (ADAMK)
  • Add more _ shortcuts in menus. Sorry to translators (DOLMEN)
  • Only show the GTL splash screen once per version change on GTK (ADAMK)
  • Fix freeze when opening an empty *saved* Perl script while the syntax checker is active (AZAWAWI)
  • #1207: PluginHooks not removed after plugin reload/disable (MJFO)
  • Padre::File::HTTP: less colloquial English (ZENOG)
  • update_pot_file.pl: add --verbose and --nocleanup for easier debugging (ZENOG)
  • #1313: Search previous button acts as next (KAARE)
  • regex editor: insert m// operator when replace field is not visible (ZENOG)
  • regex editor: highlight matched text in blue instead of red, not avoid confusion with warnings (ZENOG)
  • improved messages in Menu/File.pm, Goto.pm and ActionLibrary.pm (ZENOG)
  • FindFast.pm: 'Case insensitive'->'Case sensitive' to match actual behavior of the checkbox (ZENOG)
  • Update German translation (ZENOG)
  • Directory tree search result rendering is now throttled to four updates per second. This prevents tree updates exhausting all resources and strangling user input, and seems to actually get the results onto screen faster because there's less lock/render passes (ADAMK)
  • During shutdown, call view_stop early on all tools that support it so they won't waste time rendering after we have hidden the main window (ADAMK)
  • #1317 'Padre 0.90 hangs and then segfaults on i .t file' (AZAWAWI)
  • Find in Files search result rendering is now throttled to four updates per second, for similar reasons as with the directory tree search (ADAMK)
  • 'Open in Command line' is now shown in the right click menu in win32 (AZAWAWI)
  • 'Open in Command line' and 'Open in default system editor' are only shown on win32 (AZAWAWI)
  • Smart highlight is now hidden when a printable character is added or changed in the editor (AZAWAWI)
  • Syntax checker tasks should now return a hash containing an issues array reference and stderr string keys instead of the old issues array reference (AZAWAWI)
  • Fix TODO list double click not working regression on win32 (AZAWAWI)
  • Italic text was not being set correctly in a Padre style (AZAWAWI)
  • "Show Standard Error" in Syntax check pane now displays in output pane the syntax checker results (AZAWAWI)
  • Moved Ctrl-Shift-R shortcut from Open Resource to Replace in Files to provide symmetry with the Find in Files shortcut (ADAMK)
  • Upgrade the syntax highlighter panel to wxFormBuilder (ADAMK)
  • New leading and trailing space deletion that is faster and won't move the editor window around (ADAMK)
  • Added 'Solarized Light' theme contributed by Anton Ukolov ('sugar' on irc) (AZAWAWI)
  • Open resources dialog is now triggered by Ctrl-Alt-R instead of Ctrl-Shift-R which is now reserved for 'Replace in Files' functionality (ADAMK, AZAWAWI)
  • Find In Files match accounting works, and no longer hides files when we only do a single render pass for files because there's only a few (ADAMK)
  • Replaced references to wxStyledTextCtrl documentation with the original Scintilla website documentation (AZAWAWI)
  • Added how much time does syntax checking take (AZAWAWI)
  • Added realtime VCS or local document difference calculation margin feature (AZAWAWI)
  • Added a differences popup window that can traverse differences in a document and revert back changes (AZAWAWI)
  • Added 'Next Difference' to edit menu (AZAWAWI)
  • Plugin manager is now modal (BOWTIE, AZAWAWI)
  • Add Patch to editor menu and removed Diff Tools (BOWTIE)
  • Update Italian translation (SBLANDIN)
  • Padre::Project vcs strings are now constants (AZAWAWI)
  • "Filter through Perl" back into core (SEWI)
  • Added a generic version control panel that provides minimal project subversion/git support with the ability to view normal/unversioned and ignored files (AZAWAWI)
  • #1126 'TODO list: does not immediately show items' (AZAWAWI)
  • Added identity_location config setting so collaborative functions such as Swarm can disambiguate multiple Padre instances of the same user by named locations such as "Home" or "Work" (ADAMK)
  • Refactored the generation of templated skeleton code into a pure Padre::Template generator, and IDE-aware code that wraps around it (ADAMK)
  • Require Wx 0.9901 on all platforms to fix ticket #1184: Perl help browser suppresses linebreaks (AZAWAWI)
  • Upgrade the find in files panel to wxFormBuilder (AZAWAWI)
  • Find in files has repeat, stop search, expand and collapse all buttons (AZAWAWI)
  • Move the key bindings dialog to the preferences dialog (AZAWAWI)
  • Removed the bin_diff configuration parameter and the external tools panel from the preferences dialog (AZAWAWI)
  • Fix quick menu access stability bugs on Ubuntu (AZAWAWI)
  • Fix #1318: Padre freeze? (AZAWAWI)
  • Added SQL, C/C++, C#, XS, Python, Ruby, PHP, HTML, CSS, JavaScript, Ada, COBOL, Haskell, Pascal, ActionScript, VBScript and YAML keyword highlighting (AZAWAWI)
  • Major refactoring of the editor setup and configuration code (ADAMK)
  • Scintilla numeric resources such as margins, markers and indicators are now managed in Padre::Constant (ADAMK)
  • Recalculate the line number margin width after various events to ensure the numbers always show correctly (ADAMK)
  • Tools and panels that are hidden across a AUI geometry change recalculate their layout properly when displayed again (ADAMK)
  • Add out-of-the-box comment support for HTML, XML, LISP, Fortran, Forth, Pascal, VBScript, DOS batch files, ActionScript, Tcl, COBOL, Haskell (ZENOG)
  • MATLAB source file extension is .m, not .mat (ZENOG)
  • Add syntax checking comments pragmas. To disable Padre syntax check, please type '## no padre_syntax_check' and to enable again type '## use padre_syntax_check' in your source code (AZAWAWI)
  • Added lang_perl6_auto_detection which enables Padre to detect Perl 6 files in Perl 5 files. Please note that this is not an accurate method of detecting Perl 6 files (disabled by default). The previous behavior was to enable it when the Perl 6 plugin is enabled (AZAWAWI)
  • Added "Language Perl 6" tab to preferences (AZAWAWI)
  • Ruby and Python scripts can be now be executed (AZAWAWI)
  • Ruby, Python, Java, and C# are supported in the function list (AZAWAWI, ZENOG)
  • Ported the timeline class mechanism back to ORLite::Migrate, and switch from our custom inlined version back to depending on CPAN. [Removed Padre::DB::Migrate*] (ADAMK)
  • Fix Outline focus and paint bugs that caused other right panels to misbehave when Outline is enabled (BOWTIE, AZAWAWI)
  • Upgrade the Outline panel to wxFormBuilder (AZAWAWI)
  • Outline panel is searchable now (AZAWAWI)
  • Fix #1050: Window menu is confusing (ZENOG, AZAWAWI)
  • Remove swap_ctrl_tab_alt_right configuration parameter (AZAWAWI)
  • Added CPAN explorer that reuses MetaCPAN.org API for searching for a module and uses App::cpanminus for package installation. It can list the most recent and favorite CPAN releases, view their POD documentation and if there is a SYNOPSIS section, one can insert it from within Padre. (AZAWAWI)
  • Fix #1291 'Code folding icons missing' (AZAWAWI)
  • Code folding markers are now theme-able (AZAWAWI)
  • Find and Find in Files dialogs hide the Fast Find panel (ADAMK)
  • Hide editor objects during their (potentially long) setup so that we don't see a half-formed editor in a weird position (ADAMK)
  • Add povray mimetype and keyword lists (BRAMBLE)
  • Fix AUTOMATED_TESTING=1 t/ errors automatically set by cpanm (AZAWAWI)
  • Fix bad assumption in 93_padre_filename_win.t (AZAWAWI)

Documentation

Padre::DB class for the snippets table
The Primary Padre Documentation
Guide to hacking on Padre
client for Padre

Modules

Perl Application Development and Refactoring Environment
auto-save and recovery mechanism for Padre
documentation browser for Padre
is an afterthought
Configuration subsystem for Padre
Padre configuration storing host state data
Padre configuration storing personal preferences
Upgrade a configuration file from an older version
constants used by configuration subsystems
A context object, for centralising the concept of what is "current"
An ORLite-based ORM Database API
Padre::DB class for the bookmark table
Padre::DB class for the history table
Padre::DB class for the host_config table
Storage class for stateful cursor positions
Padre::DB class for the plugin table
Padre::DB class for the recently_used table
Padre::DB class for the session table
Padre::DB class for the session_file table
Padre::DB class for the syntax_highlight table
A very simple diff object that can be applied to editors fast
Support library for Padre desktop integration
Padre Document API
naive implementation of some beginner specific error checking
Perl 5 Help Provider
Padre Perl 5 Quick Fix
Check for strict and warnings pragmas
Constants to support currying of feature_* config options
Common API for file functions
Padre Help Provider API
Locale support for Padre
The Padre Multi-Resource Lock Manager
Compile-time logging library for Padre
Padre MIME Types
Move fragmented POD to the end of a Perl document
PPI::Transform integration with Padre
Demonstration transform
A more nuanced "Where is Perl" module than Probe::Perl
Padre plug-in API 2.2
tools used by the Padre developers
My personal plug-in
The Padre Popularity Contest
Module::Build subclass for building Padre plug-ins
Padre plug-in manager
A customised Pod to HTML for Padre
Padre Quick Fix Provider API
A role for objects that commission tasks
The Padre Search API
Padre start-up related configuration settings
Utility functions for handling remote Configuration Syncing
Padre Task API 3.0
Task for executing arbitrary code via a string eval
File operations in the background
PPI based unmatched brace finder
Finds where a variable was declared using PPI
Introduces a temporary variable using PPI
Generic HTTP client background processing task
Lexically variable replace using PPI
Generic PPI background processing task
Padre Background Task and Service Manager
Padre Document Transform API
Padre non-Wx Utility Functions
Open in file browser action
Padre utility functions for new-file-templates
Padre Win32 API Functions
Wx integration for Padre
Padre Action Object
Padre main Wx application abstraction
Wx front-end for Padre::Browser
Wx front-end for CPAN
Interface to the Perl debugger.
a dialog to show and configure advanced preferences
document statistics dialog
dialog to filter selection or document through an external tool
a dialog to jump to a user-specified line/position
Padre Shiny Help Search Dialog
Open Resources dialog
a dialog for opening URLs
The Padre Patch dialog
dialog to make it easy to create a regular expression
Plug-in manager dialog for Padre
Go to previous (or earlier) position
Quick Menu Access dialog
dialog to make it easy to create a regular expression
Session manager dialog for Padre
dialog to save a Padre session
Windows list dialog for Padre
Utility functions for physical display geometry
Find and list all occurrences
Simple Single-Document Pod2HTML Viewer
A history-enabled Wx combobox
Padre-enhanced version of Wx::HtmlWindow
The main window for the Padre IDE
Tell the user that we're doing something
Find and Replace Widget
Role to allow an object to receive Wx events
Allow dialogs or frames to host simple common dialogs
Convenience methods for implementing dwell timers
Convenience methods for children of the main window
A role for GUI tools that live in panels
Encapsulates status bar customizations
Scroll-free transactions for tree controls

Provides

in lib/Padre/Browser/POD.pm
in lib/Padre/Browser/PseudoPerldoc.pm
in lib/Padre/CPAN.pm
in lib/Padre/Cache.pm
in lib/Padre/Command.pm
in lib/Padre/Config/Setting.pm
in lib/Padre/Config/Patch.pm
in lib/Padre/Config/Project.pm
in lib/Padre/Config/Setting.pm
in lib/Padre/DB/Timeline.pm
in lib/Padre/Document/CSharp.pm
in lib/Padre/Document/CSharp/FunctionList.pm
in lib/Padre/Document/Java.pm
in lib/Padre/Document/Java/FunctionList.pm
in lib/Padre/Document/Patch.pm
in lib/Padre/Document/Perl.pm
in lib/Padre/Document/Perl/Autocomplete.pm
in lib/Padre/Document/Perl/FunctionList.pm
in lib/Padre/Document/Perl/Lexer.pm
in lib/Padre/Document/Perl/Outline.pm
in lib/Padre/Document/Perl/PPILexer.pm
in lib/Padre/Document/Perl/Syntax.pm
in lib/Padre/Document/Python.pm
in lib/Padre/Document/Python/FunctionList.pm
in lib/Padre/Document/Ruby.pm
in lib/Padre/Document/Ruby/FunctionList.pm
in lib/Padre/File/FTP.pm
in lib/Padre/File/HTTP.pm
in lib/Padre/File/Local.pm
in lib/Padre/Lock.pm
in lib/Padre/PPI.pm
in lib/Padre/Plugin/PopularityContest/Ping.pm
in lib/Padre/PluginHandle.pm
in lib/Padre/Portable.pm
in lib/Padre/Project.pm
in lib/Padre/Project/Null.pm
in lib/Padre/Project/Perl.pm
in lib/Padre/Project/Perl/DZ.pm
in lib/Padre/Project/Perl/EUMM.pm
in lib/Padre/Project/Perl/MB.pm
in lib/Padre/Project/Perl/MI.pm
in lib/Padre/Project/Perl/Temp.pm
in lib/Padre/Project/Temp.pm
in lib/Padre/ProjectManager.pm
in lib/Padre/Task/Addition.pm
in lib/Padre/Task/BackupUnsaved.pm
in lib/Padre/Task/Browser.pm
in lib/Padre/Task/CPAN2.pm
in lib/Padre/Task/Diff.pm
in lib/Padre/Task/FindInFiles.pm
in lib/Padre/Task/FunctionList.pm
in lib/Padre/Task/LaunchDefaultBrowser.pm
in lib/Padre/Task/OpenResource.pm
in lib/Padre/Task/Outline.pm
in lib/Padre/Task/RecentFiles.pm
in lib/Padre/Task/ReplaceInFiles.pm
in lib/Padre/Task/Run.pm
in lib/Padre/Task/Syntax.pm
in lib/Padre/Task/VCS.pm
in lib/Padre/TaskHandle.pm
in lib/Padre/TaskQueue.pm
in lib/Padre/TaskWorker.pm
in lib/Padre/Template.pm
in lib/Padre/Test.pm
in lib/Padre/Unload.pm
in lib/Padre/Util/CommandLine.pm
in lib/Padre/Util/SVN.pm
in lib/Padre/Wx/ActionLibrary.pm
in lib/Padre/Wx/AuiManager.pm
in lib/Padre/Wx/Bottom.pm
in lib/Padre/Wx/CPAN2.pm
in lib/Padre/Wx/CPAN/Listview.pm
in lib/Padre/Wx/Choice/Theme.pm
in lib/Padre/Wx/Command.pm
in lib/Padre/Wx/Constant.pm
in lib/Padre/Wx/Debug.pm
in lib/Padre/Wx/Dialog/About.pm
in lib/Padre/Wx/Dialog/Bookmarks.pm
in lib/Padre/Wx/Dialog/Diff.pm
in lib/Padre/Wx/Dialog/Expression.pm
in lib/Padre/Wx/Dialog/Find.pm
in lib/Padre/Wx/Dialog/FindInFiles.pm
in lib/Padre/Wx/Dialog/Preferences.pm
in lib/Padre/Wx/Dialog/RefactorSelectFunction.pm
in lib/Padre/Wx/Dialog/Replace.pm
in lib/Padre/Wx/Dialog/ReplaceInFiles.pm
in lib/Padre/Wx/Dialog/Snippet.pm
in lib/Padre/Wx/Dialog/Special.pm
in lib/Padre/Wx/Dialog/Sync.pm
in lib/Padre/Wx/Dialog/Text.pm
in lib/Padre/Wx/Dialog/WhereFrom.pm
in lib/Padre/Wx/Diff.pm
in lib/Padre/Wx/Diff2.pm
in lib/Padre/Wx/Directory.pm
in lib/Padre/Wx/Directory/Browse.pm
in lib/Padre/Wx/Directory/Path.pm
in lib/Padre/Wx/Directory/Search.pm
in lib/Padre/Wx/Directory/TreeCtrl.pm
in lib/Padre/Wx/Editor.pm
in lib/Padre/Wx/FBP/About.pm
in lib/Padre/Wx/FBP/Bookmarks.pm
in lib/Padre/Wx/FBP/CPAN.pm
in lib/Padre/Wx/FBP/Diff.pm
in lib/Padre/Wx/FBP/Expression.pm
in lib/Padre/Wx/FBP/Find.pm
in lib/Padre/Wx/FBP/FindFast.pm
in lib/Padre/Wx/FBP/FindInFiles.pm
in lib/Padre/Wx/FBP/FindInFiles/Output.pm
in lib/Padre/Wx/FBP/Outline.pm
in lib/Padre/Wx/FBP/Patch.pm
in lib/Padre/Wx/FBP/Preferences.pm
in lib/Padre/Wx/FBP/Replace.pm
in lib/Padre/Wx/FBP/ReplaceInFiles.pm
in lib/Padre/Wx/FBP/Snippet.pm
in lib/Padre/Wx/FBP/Special.pm
in lib/Padre/Wx/FBP/Sync.pm
in lib/Padre/Wx/FBP/Syntax.pm
in lib/Padre/Wx/FBP/Text.pm
in lib/Padre/Wx/FBP/VCS.pm
in lib/Padre/Wx/FBP/WhereFrom.pm
in lib/Padre/Wx/FileDropTarget.pm
in lib/Padre/Wx/FindFast.pm
in lib/Padre/Wx/FindInFiles.pm
in lib/Padre/Wx/Frame/HTML.pm
in lib/Padre/Wx/Frame/Null.pm
in lib/Padre/Wx/FunctionList.pm
in lib/Padre/Wx/History/TextEntryDialog.pm
in lib/Padre/Wx/Icon.pm
in lib/Padre/Wx/Left.pm
in lib/Padre/Wx/Menu.pm
in lib/Padre/Wx/Menu/Debug.pm
in lib/Padre/Wx/Menu/Edit.pm
in lib/Padre/Wx/Menu/File.pm
in lib/Padre/Wx/Menu/Help.pm
in lib/Padre/Wx/Menu/Perl.pm
in lib/Padre/Wx/Menu/Refactor.pm
in lib/Padre/Wx/Menu/RightClick.pm
in lib/Padre/Wx/Menu/Run.pm
in lib/Padre/Wx/Menu/Search.pm
in lib/Padre/Wx/Menu/Tools.pm
in lib/Padre/Wx/Menu/View.pm
in lib/Padre/Wx/Menu/Window.pm
in lib/Padre/Wx/Menubar.pm
in lib/Padre/Wx/Notebook.pm
in lib/Padre/Wx/Nth.pm
in lib/Padre/Wx/Outline.pm
in lib/Padre/Wx/Output.pm
in lib/Padre/Wx/Panel/FindFast.pm
in lib/Padre/Wx/Popup.pm
in lib/Padre/Wx/Printout.pm
in lib/Padre/Wx/ReplaceInFiles.pm
in lib/Padre/Wx/Right.pm
in lib/Padre/Wx/Role/Config.pm
in lib/Padre/Wx/Role/Form.pm
in lib/Padre/Wx/Style.pm
in lib/Padre/Wx/Syntax.pm
in lib/Padre/Wx/Theme.pm
in lib/Padre/Wx/TodoList.pm
in lib/Padre/Wx/ToolBar.pm
in lib/Padre/Wx/TreeCtrl.pm
in lib/Padre/Wx/VCS.pm