BLIde stable release 0.9.58-A available

BlitzMax Forums/BlitzMax Programming/BLIde stable release 0.9.58-A available

this is the changelog for this new BLIde version:
* Cleaner code
I've cleaned a lot the internal BLIde code. Five years of development had converted some areas of the BLIde code a little nightmare to mantain, so I've decided to clean it up as much as possible. Surprisingly, while surfing trough all the code, I've managed to optimize some areas, so BLIde is now a lot faster in some areas.
* Module cache configuration
I've also added a tool to 'exclude' some modules from the internal BLIde database. The object of this new tool is not to make BLIde faster, as BLIde is not suffering from slowdowns caused for the complexity of the framework. The intention of this is to let users disable intellisense for the modules they don't usually import. I've got three 3D modules installed and some of them share some base functionality and I was having intellisense from the 3 engines at the same time! A little bit confusing!
* BLIde SDK generates native .net DLL files
The SDK can now generate native compiled .net DLLs to add functionality to BLIde. I'm more than happy with this part and that has improved BLIde loading time, and making the plugins source code more secure.
* New SDK components and functionality
I've added a new component to the BLIde SDK that lets the SDK coder create tabbed documents in the BLÏde layout, as any other existing BLIde tool, and this is done in a complete transparent way for the Plugin users. I've also added a way to provide some basic intellisense to non bmx or sdk files, using the SDK. the final goal is that BLIde will be able to be configured to act as an IDE for virtually any language. Next step will be to add function parameter hint through the SDK and folding, and then... the parsers... a lot of pending work to do!!!...
* Better intellisense
Also, I've made some improvements to the intellisense system. It is now a little bit faster and it is even more precise.
* Improved localisation
Additionaly, I've changed the Ctrl+Enter functionality to Alt+Enter, as the Ctrl+Space is being used by chinese users to toggle the multilingual imput text mode (wich BLIde now supports nativelly.
* New customer tool
I've also added a new little information tool in the Help panel that informs about the version number of any BLIde component installed. This tool is there just as a customer's support helper, so I can know what assemblys are being used with BLIde when a BLIde customer reports a bug.
* Several otimizations on the intellisense speed.
The internal intellisense algorithm integrates a small cache system that improves performance drastically. This optimizations are specially notorious on single core processors
* New help options
Added the view BLIde help and view BlitzMax help on the Help menu
* Start-up time improved on dual core systems
Improved a little bit the BLIde start-up time on dual core systems
* Tab control events on the SDK
Some minor improvements on the TabControl component of the BLIde SDK
* Improved the integrated publisher
Tweaked the integrated plublisher to be compatible with the release of BlitzMax 1.30 that has special attention to internal manifest files integration (that one was not very easy to do...)
* Improved the advanced module builder
The advanced module builder no longer depends on module cache, it takes the mods list directly from disk, so non active modules can also be build
* Internal API for the SDK is now 80% to 90% faster in some commands
Some internal improvements to the BLIde SDK to make existing API faster. A lot to do still in this area...
* Better organization of displayed information
Organized the quick-info tooltips on code to make them look the same in every possible scenario .
* Better internal GDI+ handling
I've improved the way BLIde internally handles GDI resources to follow strict microsoft GDI+ rules.
* Fixed an issue with incbined media in the 'My' object of solutions
I've fixed an issue with incbined media on solutions when a complex folder structure was pressent.
* Code auto-format
Fixed also some issues on the code text auo-format algorithm. Now formated code works better and looks much more like Visual Studio
* Code Analizer
Fixed some issues on the inline bug analizer, interpreting complex IF single line sentences when using a NOT operator as the first operator of a sub-expression.
* Better module compatibility
Fixed a compatibility issue with some third party modules (wxwidgets). BLIde is a little bit less strict with folder structures on third party modules mixing C, C++ and Max code.
* Fixed important stability issue
Several stability fixes that could be causing a crash of BLIde when BLIde was compiling a BlitzMax application with an accelerated thread on several cores systems. windows was unable to redirect the standard error pipe to BLIde due to the pipes getting flushed too early.
* Fixed issue on solutions
Fixed an issue when loading the solution explorer file tree, and the files attributes at disk were not standard, the solution could fail to load properly on some very rare situations.
* Several memory leaks fixed
Fixed several small memory issues here and there due general clean-up.
* Several stability issues fixed
Some stability issues fixed, some of them related to Vista wonderbug virtualization system.
* BlitzMax debuger protocol fix
Fixed a comunicactions protocol between BLIde and the BlitzMax debugger. In some circumstances, the Max debuger was not returning any data after a object dumb request, and that was causing BLIde enter a 'wait forever' status in the debuging thread. That was not causing any problem to in BLIde due the BLIde internal structure, but it was leaving the debuger in a unconsistent status untill the debug session was restarted.
* Improved solutions and projects portability
BLIde now stores relative paths to included BMX files on solutions when they're stored in the same folder of the BLIde or BLS file, or in a subfolder.
* Improved solutions and projects loading time
Improved solutions and projects loading time due some internal optimizations on the intellisense system and layout handling.
* Fix ModuleInfo on managed modules
Latest BlitzMax updates are much more strict on the modules documentation tags. BLIde has changed its internal solution structure to let the module coders add the needed moduleinfo in a proper way. (this information has to be entered on the program comments area of the module properties).
* On-the-fly module cache updating.
BLIde now can update its internal modules cache without having to restart itself. This can be done on-the-fly.
* Some improvements on the Application field of the My object in a managed program.
Now the My object of a managed program in a solution also contains information about the running machine, such as architecture (x86 or ppc), Platform (MacOs, Windows or Linux), and if the debug mode was set on when the binary was compiled or not. All this information is available at runtime in a transparent way using the integrated My object.


NOTE TO BETA USERS:A bug on previous BETA versions could turn the layout engine of BLIde in a unstable way. It's highly recommended to restore a default layout (window / layouts) if BLIde reports problems opening and closing windows after this update when working with a project or solution created on the previous BETA version.

This update is available to blide plus users here: http://www.blide.org/plus

I will release the free edition update in some weeks.