Padre 0.82 has been released

Once again another release of Padre the Perl IDE has been uploaded to pause to hit cpan in due course.

Padre 0.82 comes after a long and interesting look at how we manage our releases.

Padre has nearly always been released directly from trunk, simply because it meant that the process of building the release was kept simple. But it also meant a 'freeze' to commits made to trunk while the release was being put together. While for the most part this was really only a matter of a couple of hours, it meant that translations wouldn't make it into the next version.

To alleviate this, every now and then we'd 'freeze' trunk for a longer period of time, of course the moment you freeze trunk, you stop any developers out there itching to get their changes back to the main repository. This isn't a good thing.

So, after the last release saw a somewhat fatal dialog sneak in, it was decided that the release process must change. It's a change that sees Padre more in line with any large project in that once trunk has stabilised ready for a release, we create a 'release' branch in svn. From there trunk is free to be as dynamic as needs be, while the branch is now free for translators to do their work safe in the knowledge that strings and things aren't going to change with Padre for this particular release.

It also means that the 'release to be' branch can be better tested for a longer period of time. To that end, quite a bit of effort has gone into documenting the kinds of things to test pre release.

A big thanks goes out to Zeno Gantner and a new recruit to Padre, fenderson ( sorry IRC nicks are often used and I'm not always sure the real name of the person mentioned, but you know who you are ), for rolling their sleeves up and working on a check list that hopefully will pick up GUI bugs that the extensive automated testing can not at this stage.

For this release:

Zeno Gantner has done more than just work on the Release Check list with work done on improving translation of buttons and other improvements to Padre:

    - Ignore .build directories in "Open Resource" dialog (ZENOG)
    - Make sure that default buttons like "OK" and "Cancel" are displayed
      when locale is set to something different than the system locale (ZENOG)
    - Remove methods that are not used any more: check_syntax_in_background and
      check_syntax (ZENOG)
    - Update German translation (ZENOG)
    - Fix #1100: "Dies when hitting F3" (ZENOG)
    - Search: when there is no match, also give out the search term (ZENOG)
    - translate error message in (ZENOG)
    - fix swapping of window title and content strings for "New Perl Module"
      name prompt (ZENOG)

Adam Kennedy as always finds time to fix up parts of the API many of us avoid:

    - Many more classes now have $COMPATIBLE tracking (ADAMK)    
    - Padre::TaskManager now rigourously avoids the assumption that it is
      implemented using threads. Of course, it always IS implemented with
      thread at present, but these changes purify and simplify the Task Manager
      and allows someone else (NOT me) to write a non-thread backend (ADAMK)
    - Fixed incosistent use of both $COMPATIBLE and $BACKCOMPATIBLE, which was
      potentially returning false positive plugin compatibility (ADAMK)
    - Intuit project root from version control checkout directories and
      classify them as an ordinary vanilla Padre::Project, before we give up
      and treat something as a Null projects (ADAMK)
    - Getting the project for a document was accidentally path-searching for
      Makefile.PL-etc and destroying/creating the project object every single
      time. Fixed project caching, and files now path-match to opened projects
      before touching the filesystem. Many operations much faster (ADAMK)
    - Added the internals for a proper Project Manager abstraction to replace
      the current ad-hoc storage in the main IDE object (ADAMK)
    - Added version control system intuition via the ->vcs method in
      Padre::Project (ADAMK)

Gabor Szabo found some time in his busy schedule to not only lead the discussion on improving Padre's release process but to also fix a few annoyances:

    - Show the 'help' field of the configuration options in the advanced
      config dialog and one sample 'help' entry (SZABGAB)
    - Remove Remove menu item Perl/Automatic Bracket Completion #1102 (SZABGAB)

Sebastian Willing is making a start on a new feature to Padre:

    - First version of "filter through Perl source" (SEWI)

I'm not 100% sure what this is just yet myself, I'm sure Sebastian will blog a bit about it when it gets to a point ready for prime time use.

And finally, the catalyst to the change for how we do releases now, my backing out of the fatal dialog that slipped into 0.80:

    - Fixed a stupid bug in the save file as check for a file extension.  Hardly
      worth noting, however it's here in case anyone was caught by such a silly
      bug and wondered if they were going mad (PLAVEN)


Finally the translations, at least one thing is now simpler for a release, translators can have more time to update strings, and I can do a simple svn log --stop-on-copy to see what was done for the release.

A big thanks to our translators:

ddn123456: Updated dutch translation by Dirk De Nijs.
burak: Updating Turkish translation
thecrux:Updated russian translation
zipf: Updated Spanish translation
jagd: zh-cn translation for 0.82
mmaslano: Updated Czech translation a little.
gyu: not complete, but close: 86%

Well, that's about it for this release of Padre the Perl IDE.

As always, feel free to drop on by the #padre channel on to say hi, ask a question or scratch an itch.

Leave a comment

About Peter Lavender

user-pic The current release manager for Padre, which means I get to be involved with something really cool and useful, while not being so active with writing Perl code.