The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.94

  • Redesigned the Preferences dialog (ADAMK)
  • Completed the Padre::Delta module for applying document updates, diffs or other small automated changes to a document without moving the scroll position or cursor (ADAMK)
  • Converted the FindFast panel to wxFormBuilder (ADAMK)
  • Converted the Replace dialog to wxFormBuilder (ADAMK)
  • Converted the Plugin Manager dialog to wxFormBuilder (ADAMK)
  • Converted the Document Statistics dialog to wxFormBuilder (ADAMK)
  • The modification indicator on the notebook tab is now set correctly even during automated mass document changes (ADAMK)
  • Removed Padre::DB::SyntaxHighlighter as the need for custom highlighting plugins is greatly reduced now we have Wx::Scintilla (ADAMK)
  • Move back from badly conceived "Smart" gettext usage to a more regular usage at the urging of the translation team (ADAMK)
  • Moved Wx::Scintilla specific lexer and highlighter registration out of Padre::MimeTypes and into Padre::Wx::Scintilla so we can use Padre::MimeTypes in background threads (ADAMK)
  • Rewrote MIME support as Padre::MIME, which does not rely on Padre::Config and can be loaded and used in background threads more easily (ADAMK)
  • Added Debug2 interface, you will need Debug::Client 0.16, please view wiki for more information (BOWTIE)
  • Force upgrades to DBD::SQLite 1.35 and ORLite 1.51 for major performance improvements which should make Padre block a bit less (ADAMK)
  • In addition to VACUUM on shutdown, also ANALYZE for a further small performance improvement (ADAMK)
  • Removed redundant Module Tools/Install CPAN Module (AZAWAWI)
  • Spanish tramslation from atylerrice (GCI student)
  • Added watch items to Debug2 interface, requires Debug::Client 0.16, also reintroduced S for loaded please view wiki for more information (BOWTIE)
  • Moved rarely used "Dupliate" and "Delete" file menu options to "new" and "close" submenus (SEWI)
  • Try to avoid failing silently when there are major load-time failures and on Win32 ask if we can reset configuration directory (ADAMK)
  • Fixed detection of XML files with non-.xml extensions (ADAMK)
  • Moved Wx-specific code out of Padre::Util into Padre::Wx::Util (ADAMK)
  • Moving the _T function to the dedicated Padre::Locale::T (ADAMK)
  • The Replace dialogs don't use Find Fast term unless visible (ADAMK)
  • Search results now match correctly at the first position (ADAMK)
  • Search match caret is now at the start of the match selection (ADAMK)
  • Added MIME type and content detection for wxFormBuilder files (ADAMK)
  • Scintilla lexer selection now obeys MIME type inheritance (ADAMK)
  • Added shared Padre::Wx::ComboBox::FindTerm widget for search dialogs, that will hint when the search term is an illegal regex (ADAMK)
  • Hitting F3 after a find or replace dialog is closed repeats the last search with all settings (regex, etc) retained until the user changes a document or moves the selection off the previous selected result (ADAMK)
  • Added main window deactivation hook to hide Find Fast panel (ADAMK)
  • Added main window activation hook to rescan the directory tree, rerun syntax checking, and rerun vcs indicators (ADAMK)
  • Hitting enter in the Function List search box will clear the search after you have been taken to the first function (ADAMK)
  • When Find Fast is closed, return scroll and selection to the original location (ADAMK)
  • Syntax check status is reflected in the label for the Syntax Check output so you can see the result when it is not at the front (ADAMK)
  • When syntax check fails, only show markers for the errors in the file that is being displayed in the editor (ADAMK)
  • The replace_term history combobox class no longer prepopulates with an assumed replace term you probably don't want (ADAMK)
  • Recursive search and replace dialogs support type filtering (ADAMK)
  • Hex/decimal conversion: make error message generic (ZENOG)
  • Plugin manager: complete translation (ZENOG)
  • Update German translation (ZENOG)
  • HTML for Padre::Wx::HtmlWindow is rendered in the background (ADAMK)
  • Clicking on a result from a Find in Files search will now find the correct line even if it has moved since the search was run (ADAMK)
  • The context menu now correctly appears at the cursor on Win32 (ADAMK)
  • Changed the order of the context menu entries to more closely match the typical ordering of other editors (ADAMK)
  • Refactored the comment logic to allow sloppier smart selection (ADAMK)
  • Migrated the Function List tool to use the Padre::Search internals (ADAMK)
  • Hide the experimental command line feature in advanced preferences (ADAMK)
  • Padre::Search::editor_replace_all now uses Padre::Delta (ADAMK)
  • Padre::Search::matches now supports submatch option (ADAMK)
  • Added basic tests for Debugger panels (BOWTIE)
  • Save All is much faster and won't flicker or defocus cursors (ADAMK)
  • The Reload actions now restore cursor position (more) correctly and don't defocus the current editor (ADAMK)
  • The location of most tools can now be configured (ADAMK)
  • The bloat reduction features can now be configured (ADAMK)
  • Fixed Ticket #1377 Search dialog claims unsuccessful search even though it was successful (ADAMK)
  • Fixed Ticket #1298 Changing font in preferences is not applied to existing editors (ADAMK)
  • Fixed Ticket #1294 Space in text field for pref "editor_right_margin_colum" stops Padre (ADAMK)
  • Fixed Ticket #1363 Miss depend - File::Slurp (ADAMK)
  • The editor style preview now correctly updates in real time (ADAMK)
  • Migrate the vertical align feature to Padre::Delta (ADAMK)
  • Function List sort order can be changed via right click menu (ADAMK)
  • Added support for the R statistics programming language (ADAMK)

Documentation

Padre::DB class for the plugin table
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
Implements on-the-fly configuration changes
Padre configuration storing host state data
Padre configuration storing personal preferences
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 recently_used table
Padre::DB class for the session table
Padre::DB class for the session_file 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
Starter module for Perl 5 documents
Constants to support currying of feature_* config options
Common API for file functions
Padre Help Provider API
Locale support for Padre
Provides _T for declaring translatable strings
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
A history-enabled Wx combobox
a dialog to show and configure advanced preferences
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
Padre Plug-in Manager Dialog
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
Padre document editor object
Simple Single-Document Pod2HTML Viewer
Padre-enhanced version of Wx::HtmlWindow
The main window for the Padre IDE
Notebook that holds a set of editor objects
Interface to the Perl debugger.
Tell the user that we're doing something
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
Lock objects to prevent unintended scrolling
Encapsulates status bar customizations
A Wx::TreeCtrl with various extra convenience methods

Provides

in lib/Padre/Breakpoints.pm
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/SVN.pm
in lib/Padre/Task/Addition.pm
in lib/Padre/Task/BackupUnsaved.pm
in lib/Padre/Task/Browser.pm
in lib/Padre/Task/CPAN.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/Pod2HTML.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/Transform.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/CPAN.pm
in lib/Padre/Wx/CPAN/Listview.pm
in lib/Padre/Wx/Choice/Files.pm
in lib/Padre/Wx/Choice/Theme.pm
in lib/Padre/Wx/ComboBox/FindTerm.pm
in lib/Padre/Wx/Command.pm
in lib/Padre/Wx/Constant.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/Document.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/SessionManager2.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/Lock.pm
in lib/Padre/Wx/Editor/Menu.pm
in lib/Padre/Wx/FBP/About.pm
in lib/Padre/Wx/FBP/Bookmarks.pm
in lib/Padre/Wx/FBP/Breakpoints.pm
in lib/Padre/Wx/FBP/CPAN.pm
in lib/Padre/Wx/FBP/DebugOutput.pm
in lib/Padre/Wx/FBP/Debugger.pm
in lib/Padre/Wx/FBP/Diff.pm
in lib/Padre/Wx/FBP/Document.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/FoundInFiles.pm
in lib/Padre/Wx/FBP/Outline.pm
in lib/Padre/Wx/FBP/POD.pm
in lib/Padre/Wx/FBP/Patch.pm
in lib/Padre/Wx/FBP/PluginManager.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/SessionManager.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/Frame/HTML.pm
in lib/Padre/Wx/Frame/Null.pm
in lib/Padre/Wx/FunctionList.pm
in lib/Padre/Wx/FunctionList/Menu.pm
in lib/Padre/Wx/Icon.pm
in lib/Padre/Wx/Left.pm
in lib/Padre/Wx/ListView.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/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/Nth.pm
in lib/Padre/Wx/Outline.pm
in lib/Padre/Wx/Output.pm
in lib/Padre/Wx/Panel/Breakpoints.pm
in lib/Padre/Wx/Panel/DebugOutput.pm
in lib/Padre/Wx/Panel/FindFast.pm
in lib/Padre/Wx/Panel/FoundInFiles.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/Scintilla.pm
in lib/Padre/Wx/SelectionLock.pm
in lib/Padre/Wx/Style.pm
in lib/Padre/Wx/Syntax.pm
in lib/Padre/Wx/TextEntryDialog/History.pm
in lib/Padre/Wx/Theme.pm
in lib/Padre/Wx/TodoList.pm
in lib/Padre/Wx/ToolBar.pm
in lib/Padre/Wx/Util.pm
in lib/Padre/Wx/VCS.pm