Our Blog   Our Claris FileMaker Blog   Our Xojo Blog   Archive     Follow us on Mastodon, Twitter, Xing, LinkedIn or Facebook.

MBS Xojo Plugins, version 23.6pr1

New in this prerelease of the 23.6 plugins:
  • Updated DynaPDF to version
  • Updated SQLAPI to version 5.3.
  • Added FullyQualifiedFieldName property to DynaPDFFieldExMBS class.
  • Added karFormData and kaffNonPDFA_4e constants to DynaPDFMBS class.
  • Added Hidden attribute to JSONIteratorMBS, XMLIterateAttributeNodesMBS, XMLIterateChildNodesMBS, XMLIterateElementsMBS, DynaPDFIteratorMBS and PCRE2IteratorMBS classes to hide it from auto complete. Since you use it via for each loops indirectly, you never need to use these classes directly.
  • Changed CallDelegateOnMainThreadMBS delegates to be hidden for auto complete.
  • Fixed GetDelegateParametersMBS, GetDelegateTargetMBS and GetDelegateWeakMBS functions to work better in newer Xojo versions.
  • Fixed an endless loop in JSONMBS class when running Search function with a bad query. Now propergates the exception properly.
  • Fixed JSON, DynaPDF and plugin to compile again with Xojo 2019r1.
  • Added SortArrayMBS methods to sort with/without a delegate and ascending or descending.
  • Updated openssl library to version 3.1.4.
  • Optimized text handling to be faster, which affects various string functions like ContainsWholeWordMBS.
  • Added CopyArrayMBS methods to copy array data to second array of same type.
  • Added target flags to our delegates to make sure they are available on the right targets.
  • Updated to LCMS 2.16fc1.
  • Improved array access for the plugins.
  • Added checks for fillSeries and fillDateSeries in CDRanSeriesMBS class to better handle if arrays are nil.
  • Improved array conversion from Xojo array to JSONMBS array.
  • Fixed crash in NSIndexPathMBS when passing nil array to Constructor or indexPathWithIndexes method.
  • Improved NSSearchFieldControlMBS to scroll horizontally.
  • Added DynaPDFParserMBS class.
  • Fixed some flags for delegates to work better in the future.
  • Added cmsV2Unicode function to LCMS2ProfileMBS class.
  • Added Scrollable property to NSSearchFieldMBS class.
  • Added more properties to CURLEmailMBS class for debugger.
  • Updated SQLite to version 3.44.1.
  • Added ApplyMergePatch, ApplyPatch, MergePatchFromDiff, PatchFromDiff to JSONMBS class.
  • Fixed string parser in LargeNumberMBS to not break on a minus sign sometimes.
  • Added BigNumberConversionMBS class.
  • Added new GetStringValue and SetStringValue methods to BigNumberMBS class.
  • Added new GetStringValue and SetStringValue methods to LargeNumberMBS class with more options.
  • Fixed OpenMTInputFile method in CURLSMBS class to remove InputData first.
  • Fixed SetupAWS and SetupOAuth in CURLSMBS class to reset NoBody flag if new transfer is not head.
  • Implemented EOF and BOF for SQL Plugin for RowSets to make for-each loops work better, but AutoCache may need to be enabled if the database doesn't allow MoveFirst like SQLite.
  • Added isBOF and isEOF to SQLCommandMBS class.
  • Improved WindowsDeviceInformationPairingMBS class to keep reference to the device object.
  • Fixed a possible crash in SQLConnectionMBS destructor.
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or from DropBox.
Or ask us to be added to our shared DropBox folder.

News from the MBS Xojo Plugins Version 23.5

In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 23.5.


There is a new class for the DynaPDF area: DynaPDFIteratorMBS. The class provides an interator as an object that can be used in for-each loops in Xojo. It is an abstracted class, so we cannot create an instance by ourselves, but several methods can use the class as a return. There are currently 17 different methods that interate using it, for example over annotations, bookmarks or named destinations.

In the DynaPDFMBS class, we also have the option of creating a geospatial measure dictionary using the CreateGeospatialMeasure method. This kind of measure dictionary can be used to convert PDF units to geographic coordinates. A measure dictionary is used by the measure tool of Adobe's Acrobat and by other PDF viewers which contain a PDF compatible measure tool.

In the classes DynaPDFAnnotationExMBS and DynaPDFAnnotationMBS we have one Operator_Convert function each. This converts an object of one type of annotation into an object of the other type. DynaPDFAnnotationMBS is the older and DynaPDFAnnotationExMBS the newer class.


Five months until MBS Xojo Developer Conference

Just five months left until we start our MBS Xojo Developer Conference in Andernach, Germany. We know it is still early, but we already got a few speaker proposals and already over 25 registrations from nine different countries: 🇩🇪, 🇳🇱, 🇬🇧, 🇺🇸, 🇫🇷, 🇪🇸, 🇨🇭, 🇵🇱 and 🇨🇦.

We are happy to announce, that Geoff Perlman, CEO of Xojo Inc. will join us to talk about what is new in the Xojo world for 2024. Ricardo Cruz and Javier Menendez from Xojo Inc. will join us to present about mobile and web development.

Outside image of hotel at night.

Please join us 25th and 26th April 2024 in Andernach, Germany for a great Xojo developer conference. You may consider to arrive 24th April to join the evening reception in the hotel. Or even arrive earlier to join our Xojo training day. And if you come from far away, how about staying longer and do a bit of sight seeing with the group on Tuesday? Finally we may visit the Geyser together on Saturday morning.

Day Date Day Evening
Monday 22nd April Welcome Event
Tuesday 23rd AprilSight Seeing Tour Dinner
Wednesday24th AprilTraining Day Reception in Hotel
Thursday 25th AprilMBS Xojo Developer Conference 1st day conference Dinner Event
Friday 26th AprilMBS Xojo Developer Conference 2nd day conference Farewell Dinner
Saturday 27th AprilGeyser tour

Black Friday coming soon

As you may know Americans love to shop on Black Friday and Cyber Monday. This year Black Friday is 24th November. About half our customers are in North America, so we are happy to offer you a discount if you buy this weekend. Our offer will go live in the next days and should be available in time.

We plan to offer coupon code BlackFriday for the web shop with 20% off for new licenses of MBS Plugins, DynaPDF and LibXL.
Updates are already offered with discount (usually 50%) compared to new purchases and and our academic prices already have a discount, too. If you like, you can email us to get an order link for all licenses you need or provide an invoice if needed. Especially if you like to use Paypal for payment, we can provide a link with discount or write a custom invoice.

Order MBS FileMaker Plugin     Order MBS Xojo Plugins     Order LibXL

As usual the discounted offer allows you to buy whatever licenses you may need in the next year. Especially if your license expired in 2022 or before, this is a great chance to get up to date!

You have a question? Please don't hesitate to contact us by email or phone. We may help to point you to the right offer.

WebView2 for Xojo upgrades

Since we created the WebView2ControlMBS control for Xojo based on the WebView2 control from Microsoft, we got quite a few things upgraded.

This control allows any Windows application to use the Chrome based Edge browser as a control within your application. Enjoy all the latest JavaScript, HTML and CSS features and replace use of Internet Explorer.


Embracing for each loops

In the recent version of MBS Xojo Plugins, we embrace the for-each loops in Xojo. We got quite a few classes to implement the Iterator and Iterable interfaces:


Early Black Friday Sale for Xojo

Xojo Inc. announced a sale for the next few days:

As you may all know, we’re thrilled by the incredible talent and creativity you bring to the table with the apps you create with Xojo. Your dedication is the driving force behind our community, and as we step into the season, we want to extend our heartfelt thanks for your continued support of Xojo. To show our appreciation, we’re excited to announce our “November to Remember” early Black Friday sale!

This year’s Xojo sale kicks off today and will run until Thursday, November 16th, at 11:59 PM CT. Enjoy a fantastic 20% off all Xojo licenses (New, Renewals, and Upgrades), and third-party add-ons from the Extras store!

Here’s what you can look forward to 20% OFF:

New Xojo Licenses - All new Xojo licenses for whatever platform you need, including Pro and Pro Plus.

Renewals - Renew now to get access to new Xojo releases for the next year. If you renew during the sale, your current expiration date will be extended by 1 year. Multiple-year renewals are available.

Upgrades - Upgrade your Xojo license to Desktop, Pro, or Pro Plus and get access to more features, including 1 year of updates.

3rd Party Products - Expand Xojo’s functionality with add-ons from the Xojo community in the Extras store.

SHOP NOW and make the most of these incredible offers!

*Please note: All Xojo purchases come with a 90-day money-back guarantee. Xojo Cloud is not included in this sale.


MonkeyBread Software Releases the MBS Xojo Plugins in version 23.5

Nickenich, Germany - (November 7th, 2023) -- Monkeybread Software today is pleased to announce MBS Xojo Plugins 23.5 for macOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin collection currently available for Xojo. MBS Xojo Plugins have been updated and now includes over 3000 classes and 80,000 documented features, and the versatile plugins have gained more new functions:

We rewrote JSONMBS class to use a newer C++ library. The new class should be faster, add modern features and interface compatible to JSONItem and our older JSONMBS class. Use Search function to perform JMESPath queries in Xojo. Use Query to find data and Replace functions to replace found nodes with new JSON values. Use Flatten JSON to process a hierarchy in keys and values, filter entries and Unflatten back to original JSON.

DynaPDF got updated to create PDF/A 4, 4e and 4f PDF files. New constants allow you to set this version and CheckConformance can convert a PDF to PDF/A 4 level. Iterate over various items in the DynaPDF with DynaPDFIteratorMBS in for each loops. The orientation property in DynaPDFPageMBS class became settable and we added CreateGeospatialMeasure method.

For macOS Sonoma we added support for reaction effects on macOS 14 and iOS 17. The AVCaptureReactionEffectStateMBS class allows to check state for effects. Methods in AVCaptureDeviceMBS class can check for available effects and trigger them by code. In Sonoma, you can use new methods on NSMenuMBS and NSMenuItemMBS for palette menus and section headers.

If you use MapKit or SceneKit in iOS with our MapKitIOSControlMBS and SCNIOSControlMBS controls, you can now enjoy touch events and react on them using our new NSTouchMBS class. We updated ChartDirector plugin to have more classes and methods to work on iOS including CDTreeMapNodeMBS class.

Our linux libraries are built with fortified source checks for libc to be more secure. We removed dependency on GLIBC_2.25, so you can use our plugin once again on Xojo Cloud.

For Windows we removed the VS 2019 runtime library dependency for the XML Plugin (and others). The RemoteControlMBS module got methods to check for caps-lock, num-lock and scroll-lock keyboard states.

We added MongoDB Watch Changes example project to show MongoChangeStreamMBS class, added RowsAffected property to SQLConnectionMBS and SQLDatabaseMBS classes, added renameNode and adoptNode methods to XMLDocumentMBS class, CSIdentityMBS got debugger friendlier with the properties and we include UpdaterKit within the examples.

Finally we updated CURL library to version 8.4.0, DynaPDF to, SQLAPI to 5.2.6 and SQLite to 3.44.0 and Xcode to version 15.0.

See release notes for a complete list of changes.

Watch MongoDB Database changes in Xojo

Did you know that MongoDB has a watch feature (change stream) to see what happens in the database?


Use DynaPDF to create PDF documents with PDF/A-4 version

PDF/A is a specific subset of the PDF (Portable Document Format) file format that is designed for long-term preservation and archiving of electronic documents. It is intended to ensure that digital documents can be reliably preserved and accurately reproduced over time, even as technology and software evolve. PDF/A achieves this by imposing certain restrictions and guidelines on the content and features of a PDF document. Here are some key characteristics of PDF/A:
  • Self-Containment: A PDF/A document should be self-contained, meaning that all the elements required for rendering the document, such as fonts and images, must be embedded within the file. This eliminates the risk of dependencies on external resources that may become unavailable in the future.
  • Device Independence: PDF/A files are designed to be device-independent. This means that they should be viewable and printable consistently on different devices and software applications without any significant loss of fidelity.
  • Preservation of Content: PDF/A focuses on preserving the visual content, structure, and layout of a document. This ensures that the document's appearance and readability remain consistent over time.
  • Metadata: PDF/A requires the inclusion of standardized metadata to describe the document's properties and its context, making it easier to search, retrieve, and understand the content.
  • No Encryption or Password Protection: PDF/A documents should not be encrypted or password-protected to ensure long-term accessibility.
  • No JavaScript: PDF/A does not allow the use of JavaScript or other executable code, which can pose security risks or become obsolete.
  • No Embedded Audio or Video: Multimedia elements such as embedded audio or video are not typically allowed in PDF/A, as they can complicate preservation and access.
PDF/A comes in different versions, each with varying levels of features and restrictions. The most common PDF/A versions are PDF/A-1, PDF/A-2, PDF/A-3 and PDF/A-4, each building on the previous version while adding new capabilities. PDF/A-2 and PDF/A-3, for example, allow the embedding of files and support for digital signatures.

Organizations and institutions that deal with long-term document preservation, such as archives, libraries, and government agencies, often use PDF/A to ensure the integrity and accessibility of their digital records. It is essential to follow the specific requirements of the chosen PDF/A version to create compliant documents for long-term archiving.

With DynaPDF we have two ways to create a PDF/A document. First you can create a new PDF in memory from new content without importing existing PDF. Then you only add what is allowed for the PDF/A format you target and you set the version with SetPDFVersion. Alternative get DynaPDF Pro + PDF/A converter licensers and load an existing PDF to convert it with CheckConformance. That function will check for compliance and if the PDF/A converter is licensed also convert the PDF to make it compliant. If you don't license the PDF/A converter, you can still check for compliance and adjust your code on producing the PDF.

Please download our plugins and try the examples. You find more details about PDF/A in the DynaPDF manual. We have plenty to try out for you and please do not hesitate to contact us if you have questions.

Performance improvements in Xojo

The last weeks were interesting as Xojo Inc.'s developer team picked up a few of the issues I filed about performance. You may benefit from them automatically as they improve things on the compiler, linker and framework.


xDev Magazine 21.6 Issue

The November/December (21.6) issue of xDev Magazine is now available. Here's a quick preview of what's inside:

Multi-column PDFs by Stefanie Juchmes
While it's fairly easy to create a single-column PDF layout, what happens if you want to do something more sophisticated and lay out text in columns? Don't worry -- Stefanie has you covered.

Design Patterns Part 1 by Marc Zeedar
Design patterns are a great way to enforce object-oriented programming and make code easier to understand and modify. But if you aren't familiar with them, they can seem complex and intimidating. This intro lesson is the first in a new series.

Rasp Pi Electronic Fun Part 4 by Eugene Dakin
Conversion of analog voltage to digital voltage is missing in Raspberry Pi. Using a MCP3008 chip and the SPI communication protocol, this article shows how to read a voltage and display the numeric value in a listbox.

Find the Differences by Marc Zeedar
A "Find the Difference" game can be a fun mental exercise in observation. Marc uses Xojo to build an editor that lets you create these games, as well as a standalone player that can be distributed to gamers.

Plus: Topics such as Xojo 2023R3, designing gauges, sets and zip files, stored procedures, and more!

MBS Xojo Plugins, version 23.5pr7

New in this prerelease of the 23.5 plugins: Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or from DropBox.
Or ask us to be added to our shared DropBox folder.

Xojo Tips and Tricks

We got a few tips and tricks collected for you in the last week.

1. App.Constructor

If you need code to run really first, you may go with the constructor of the Application object. This constructor runs before the Opening event, so it is your chance to do very early initialization before all other events run. But using Constructor can be tricky since you need to call the constructor on the super class and match the signature, which is not always easy to know. Let us show you how the constructors would like

Console and Desktop targets:

Sub Constructor()
System.DebugLog CurrentMethodName
End Sub

Web target:

Sub Constructor()
System.DebugLog CurrentMethodName

// Calling the overridden superclass constructor.
End Sub

iOS target:

Sub Constructor(launchOptions As ptr)
System.DebugLog CurrentMethodName

// Calling the overridden superclass constructor.
Super.Constructor launchOptions
End Sub

For some projects we use constructor to put in some logging or plugin based exception catching very early to catch issues before App.Open event runs. See NSExceptionHandlerMBS and GlobalExceptionHandlerMBS classes. (more)

MBS Xojo Plugins, version 23.5pr6

New in this prerelease of the 23.5 plugins: Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or from DropBox.
Or ask us to be added to our shared DropBox folder.

Six months until MBS Xojo Developer Conference

Just six months left until we start our MBS Xojo Developer Conference in Andernach, Germany. We know it is still early, but we already got a few speaker proposals and already the first dozen registrations from six different countries: 🇩🇪, 🇳🇱, 🇬🇧, 🇺🇸, 🇫🇷 and 🇨🇭.

Outside image of hotel at night.

Please join us 25th and 26th April 2024 in Andernach, Germany for a great Xojo developer conference. You may consider to arrive 24th April to join the evening reception in the hotel. Or even arrive earlier to join our Xojo training day. And if you come from far away, how about staying longer and do a bit of sight seeing with the group on Tuesday?

Moving to new JSONMBS class

If you used our older JSONMBS class and now move to 23.5 version of MBS Xojo Plugins, you may notice a few changes. The new class is better in many ways, like interface compatible to JSONItem class, adds new Query, Search and Replace methods as well as handling errors better.

We got new kType* constants for new node types. Error, True, False and Number types are gone and we got new things like Boolean, ByteString, Int64, Single, Double and UInt64. The byte string is for handling MemoryBlocks in JSON, which can encoded as Hex, Base64 or Base64URL as needed.

We now raise exceptions for all bad operations. So checking handle for 0 and checking ParseError property is gone. You can inspect the exception for it's message property to see an error message.

We preserve numbers in exact representation. If you store 1.2345 as currency into JSON with our plugin, it will stay 1.2345 and not convert internally to a double and get output as 1.2344999999999999307. Our IsNumber function handles this correctly. So if a floating point number is stored internally as string, you may see kTypeString for it, but IsNumber returns true as it's a string we use to hold a number and output it as number. We also got functions like IsInt64, IsUInt64, IsInt32 and IsUInt32 which check for IsNumber and the range. (more)

MBS Xojo Plugins, version 23.5pr5

New in this prerelease of the 23.5 plugins:
  • Fixed isiOSAppOnMac and isLowPowerModeEnabled properties in NSProcessInfoMBS class to work in iOS target.
  • Updated DynaPDF to version
  • Changed Orientation property in DynaPDFPageMBS class to be settable.
  • Added kctPDFA_4, kctPDFA_4e and kctPDFA_4f constants to DynaPDFMBS for CheckConformance to convert to PDF/A 4.
  • Added kpvPDFA_4, kpvPDFA_4e and kpvPDFA_4f version constants for PDF/A 4.
  • Added kcoDefault_PDFA_4 constant for default flags for PDF/A 4 conversion.
  • Tuned JSONMBS class.
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or from DropBox.
Or ask us to be added to our shared DropBox folder.

Checking out Search function in JSONMBS with Xojo

JMESPath (pronounced "jay-mess-path") is a query language and a specification for searching and extracting data from JSON documents. It provides a way to perform complex queries and transformations on JSON data, making it easier to work with structured data within JSON objects. JMESPath is similar in concept to other query languages like SQL for databases or XPath for XML documents, but it's specifically designed for JSON.

We add JMESPath to our MBS Xojo Util Plugin for the upcoming version 23.5 with the Search()) function in JSONMBS class. You may use this function to find things and then also check Replace() to replace values you selected with an expression.


MBS Xojo Plugins, version 23.5pr4

New in this prerelease of the 23.5 plugins:
  • Changed CSIdentityMBS class to have 15 properties visible in debugger.
  • Changed localizedName property in CSIdentityAuthorityMBS class to be debugger visible.
  • Fixed an issue with JSONMBS returning single instead of double value.
  • Added ValueByteString property in JSONMBS class.
  • Added ByteStringEncoding shared property to JSONMBS class.
  • Added LineLengthLimit and NewLineCharacters shared properties to JSONMBS class.
  • Added NewByteStringNode method to JSONMBS class.
  • Added renameNode and adoptNode methods to XMLDocumentMBS class.
  • Added MongoDB Watch Changes example project to show MongoChangeStreamMBS class.
  • Added Constructor to StringHandleMBS class taking MemoryBlock.
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or from DropBox.
Or ask us to be added to our shared DropBox folder.

Older blog entries:

2023-10-13 Playing with JSON Query in Xojo
2023-10-11 MBS Xojo Plugins, version 23.5pr3
2023-10-10 Time to switch to MBS Xojo SQL Plugin
2023-10-07 More Menubar options in macOS Sonoma
2023-10-02 MBS Xojo Plugins, version 23.5pr2
2023-09-29 New JSON Plugin for Xojo
2023-09-28 MBS Plugins on Xojo Cloud
2023-09-26 MBS Xojo Plugins, version 23.5pr1
2023-09-25 Seven months until MBS Xojo Developer Conference
2023-09-19 News from the MBS Xojo Plugins Version 23.4
2023-09-14 The need for automated checks
2023-09-12 MonkeyBread Software Releases the MBS Xojo Plugins in version 23.4
2023-09-07 MBS Xojo Plugins, version 23.4pr7
2023-09-06 Omegabundle ends in five days
2023-09-02 16 years of MBS Xojo DynaPDF Plugin
2023-09-02 xDev Magazine 21.5 Issue
2023-09-01 MBS Xojo Plugins, version 23.4pr6
2023-08-30 Create a Bar Chart in Xojo with the ChartDirector
2023-08-29 NSSplitView Control for Xojo
2023-08-28 Omegabundle price change coming


Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008
XML: RSS Feed XML: Atom Feed