From time to time it is necessary to get a bigger picture of your project in terms of size, test coverage, code vs. comments ratio and others (aka metrics). While it is quite difficult to find a good (and free) code coverage tool for C++ there is already a very nice tool package called DPack, which is not only freely available but also gives us some very useful additions in our IDE. One of those features is code statistics.
We are working hard on the next Workbench Beta release that should be out mid next week. It will include a list of top priority bug fixes as usual but also two new additions that have been requested by our beta testers.
The new Online Update menu item allows to update your current installation to the latest available release right from within the tool. No need manually browse web pages anymore – at least if you are using the MSI based packages. The reason we are not offering this for the zip packages is that an automatic update is tricky since you might have made a custom install based on your needs. If you are using the zip packages you can keep using the normal Version Check menu item that will inform you about the version you have installed and if a new release is available.
The second addition is a better reporting after schema diffs. We added the templating engine (thanks Google for ctemplate!) we also use for the normal schema reporting feature and are now able to list the actual schema differences in plain text. The tree view is still available but for everybody who would rather read through the differences than browse the tree this feature will come in handy.
We finally got WB 5.0.12 released. It was a bit complicated to get it out because everybody was on his way to the MySQL All Company Meeting here in Orlando, Fl, and with all the meetings going on. 5.0.12 is a next important step to get closer to RC. We did not fix as many bugs as for the last releases – partly caused by the vacations around X-Mas but as well because the number of serious issues is going down. There is still a lot to be done though but the light at the end of the tunnel is clearly visible already.
Btw., if somebody did not get the news yet (which I don’t think is possible), MySQL has been aquired by Sun. It is the biggest topic here at the All Company Meeting and I think it was the best thing that could happen for MySQL as a product and for the community. What it means for the MySQL Workbench project for the moment is, that nothing will change. We will continue our road to GA as planned and are currently putting together the feature set for the WB 5.1 release. But I think there might be some very good things happening for the community in the future.
… is coming soon. We were just about to release beta 5.0.12 out into the wild on friday, but it looks as if it wasn’t meant to be. I found some nasty issues in the latest fixes we did, so we had to correct those before we can set it free.
Again many bugs have been fixed since version 5.0.11 so stay tuned for the upcoming new release.
The Lua plugin support has been finally fixed and will be working in the next release. Together with a few other improvements, it’s now possible to write your own commands to do all kinds of tasks. Documentation for the plugin system is not yet written (and the previous one is outdated), but it should be straightforward to copy the supplied Lua plugin and change it to do something else. All you need is to know a little Lua (which is a simple scripting language) and explore Workbench internals using the GRT Shell (View -> Advanced -> GRT Shell).The sample Lua plugin is located in the modules folder. You can copy it to the custom plugins folder which is shown in the GRT Shell at startup and change things like the module name and add your own functions. I’ll write more about how to write such functions in a future post, like after the next WB is actually released.There are a few ways that plugins can be accessed, including just calling them from the GRT Shell, from the main menus (which you can change in the main_menu.xml file or in a menu editor when its written) or from context menus for the objects that the plugin supports. In fact, most functionality of Workbench works the same way as plugins, so there’s a lot that can be done.
The team was on vacation during the holidays (a well deserved one I hope) and today is the first day the full team is back. Our plan is to keep our main focus on bug fixes and also start working on the plugin-writing/scripting tutorials. We also have to add more hooks at various places in the tool so people interested can add their stuff wherever it needs to be added.
Starting on the 14th of January we will travel to the MySQL company meeting and we will try hard to get a new release out before that – including as many bugfixes as possible.
We just unleashed version 5.0.11 Beta of MySQL Workbench. We fixed the nasty bug, that prevented us from releasing .11 earlier. To find out what’s new take a look at this page (You can trace all changes in detail here).
Although the filenames say 5.0.11a (notice the trailing ‘a’), what’s actually inside the packages is our official 5.0.11 beta release. That’s because we had already uploaded the files to our mirrors when we found that index-related bug on monday – so the fastest way for this release was, to add the suffix.
Please fetch the new release right away and keep up your good work with testing and reporting bugs.
Apart from more than 60 bug fixes the upcoming MySQL Workbench 5.0.11 release will contain a few major improvements in respect to the last release two weeks ago.
- The partitioning settings are now fully supported during reverse engineering of SQL scripts and live database and CREATE / ALTER generation for synchronizations. We had a preliminary implementation but this has been replaced by full parser support.
- Addition of Standard Insert grid input. Instead of having to type in the full INSERT statements the initial/test data can now be entered by using a data grid.
- Improved formatting of generated SQL output.
- Improved GRT Shell console. This is in preparation of the upcoming tutorials on the scripting- and plugin writing possibilities
The show-stopper bug that is holding back the release is now fixed. We will run detailed tests tomorrow and if nothing else comes up will upload to the mirrors then. Standard Edition Beta Testers will get an email notifying them about the new download addresses.
I prepared the release builds for 5.0.11 yesterday evening and they have been uploaded to the mirrors. All automated tests passed without error and my initial manual tests showed everything working. Nevertheless Tax found a show-stopper bug later today following our manual testing procedures.
The problem is located in the SQL generation code for tables. We introduced a new internal index type for foreign key index columns that is maintained automatically by the tool. This new type caused the generated SQL to be corrupt. We tried a simply fix today but were not able to fully solve it. We will take time tomorrow to properly fix the issue and I will trigger new build after that. Then it will take about 20h till the mirrors have catched up and we can announce the new release.
Sorry for the delay.
For all new contributors devoted to quality, FAQ was slightly updated with new section.