After over 18 months of continuous development VistaDB 5.0 has been released! We’ve met our goals for functionality and performance enhancements, passed a battalion of tests, and run four distinct betas all to ensure that this is not just the best release of VistaDB yet but the best embedded database on the market today. Over the next few weeks we’ll be running a series of blog articles diving into different aspects of how VistaDB 5 works and the improvements from previous versions but the bottom line is it’s ready for you to use in production with confidence.
The best rundown is right in the release notes which cover all of the goodies from new features through defect fixes. It’s also worth looking at the blog post announcing the release candidate that covers a lot of what’s new in a more compact form.
We’ve created all new documentation sections to cover a range of getting started scenarios as well as upgrading from previous versions and migrating from SQL Server. We’ve gotten some great feedback from folks that have really appreciated these getting started guides and helped us improve them during the beta process.
We’re going to continue to listen to you, the community, on what’s most important – after a well deserved break our team will be back at it, listening for the next most important things you want us to make happen. Just about every improvement we’ve made came directly from a customer saying “it’d make a difference to me if you could do X”. Languages changes, supporting other frameworks, performance improvements and tool features – what we create is driven by you. Send an email to support with your ideas and we’ll take it from there!
And our Thanks
Finally, I want to extend my personal gratitude to all of the folks that made this possible. From outside Gibraltar Software this includes the members of the community that took the time to download the betas and give us great feedback – particularly when the results were not good – and a special shout out to Telerik who went above and beyond by providing us with access to their ADO.NET test suite which is the best on the planet (6000+ torture tests of twisted SQL Syntax!). I also want to thank Rob Parker, the Database Engine team lead that’s been shepherding this release from its original conception all the way through to release day. If you’ve sent us a tough question, you probably got a long response from Rob on what’s behind it and what we can do.
When we took over VistaDB in 2010 people were wondering what it’s future would hold – would we invest in it and really make a difference. I’m proud to point to VistaDB 5 to show the bright future of this platform. We’re just getting started!
We’ve reached the last milestone before the release of VistaDB 5 – The Release Candidate version has been posted for download. Befitting the designation “release candidate”, this build is feature complete, delivering on the commitments we made for 5.0 and a few items that have come up along the way.
Naturally we’d encourage you to read the full, majestic What’s New section of the documentation but if you’ve been trying out Preview 3 you’ll find that the major changes in 5.0 RC are:
- Visual Studio Designers: The full VS design experience is available in VS 2010 and later. We’ve addressed some long-standing defects with our Visual Studio integration and added support for VS 2013.
- Entity Framework 6: VistaDB 5 supports the new provider model for Entity Framework 6 as well as the previous model for Entity Framework 4 and 5. We’ve improved the designer performance as well, dropping some database model refresh operations by 80%.
- More Performance: With the help of users like yourselves we identified a few additional cases where the new optimization method didn’t perform as well as it should and addressed them.
- CEIP Program: VistaDB 5 is the first version of VistaDB to incorporate our Customer Experience Improvement Program. With this, we can get telemetry on the VistaDB Design & development experience so we can help support all our customers better. See more on this below.
In addition to the major features listed above, the following notable changes are also complete in 5.0 RC:
- File Format Changes: This release debuts the new VistaDB 5 file format, along with all of the tooling necessary to upgrade to it. This is a one-way conversion, but you can be assured that if you do convert you will not have to do so again when 5.0 final ships.
- File Name Changes: We’ve renamed all of the redistributable files so they don’t conflict with VistaDB 4 and now offer separate .NET 2.0 and .NET 4.0 redistributables. The directory structure and file names are not expected to change for final release.
- New Assembly Versions: You’ll notice that the new assemblies are version 220.127.116.11 instead of 18.104.22.168 or 22.214.171.124 (for the preview releases and the current production release respectively)
In short, this release completes all of the compatibility -related issues. We expect 5.0 final to be binary compatible with files and APIs for the RC.
Entity Framework 6
A major change since VistaDB 4 shipped is the widespread use of ORM tools in place of direct ADO.NET access. Along with this we’re investing in enhanced EF support which begins with supporting the new provider model in Entity Framework 6. There are some extra steps required to use EF 6 compared to previous versions so be sure to read up in the documentation on how to enable this support in your project.
VistaDB 5 incorporates the same Customer Experience Improvement Program (CEIP) that we’ve been using with Loupe for five years. Under this program, runtime diagnostic and performance information is gathered while using the developer tools (in this case the Visual Studio Designer, Data Builder, and Data Migration Wizard). If you opt into our CEIP program then this telemetry is periodically uploaded to our secure servers for analysis so we can identify problems and get them resolved as fast as possible.
Since 5.0 RC is a pre-release build it’s automatically opted into this program if you install the RC build. This automatic opt-in only applies to the RC build (and just to VistaDB) so when you install 5.0 Final you’ll see a dialog asking if you want to opt into our program. If you say no then no problem – diagnostic information will still be collected locally but nothing is sent to our servers at all. If, down the road, you have a support issue and want to send us some information to help out you can.
So what’s between us and the final 5.0 release? Mostly time – there are several things we can only do once the feature set and internal details are locked in and our partners need time to verify our release.
A Little Help from our Friends
We know that a major reason folks pick VistaDB is our compatibility with a number of third party applications – like ORM tools, reporting systems, and other libraries. We have a good relationship with many of these developers and as part of that we want them to have some time with our release candidate before 5.0 final ships so they can be ready to support it on day one. We also want to be sure we can address any issues they might identify. I simply can’t say enough about how valuable ORM vendors have been to helping us prove out VistaDB 5.0 – they have the toughest test suites in the business because they end up holding the bag whenever there’s an issue across many database engines.
Polish and Packaging
The other item left on our TODO list before 5.0 final can ship is to give the VistaDB help documentation, samples, and web content a healthy review. The overwhelming majority of this content predates Gibraltar Software acquiring VistaDB (which was over three years ago!) and we’ve gotten a lot of feedback on it we want to incorporate. We believe that customers expect a final release to not just be a complete set of software but include all of the supporting materials up to date. We’ve made serious progress on this front (just check out the new help documentation for the Release Candidate) but we want to review every single page before release.
Final Release in January
It takes about four weeks to complete all of the work both we and our partners need to do from a release candidate to final release. Given the Christmas holiday where we largely shut down so all our employees can spend time with their families that puts the 5.0 Final release in the latter part of January. We’ve done enough extended validation with partners and customers that we don’t foresee any technical issues holding up that release. That said – as always we look for your feedback to be sure we’ve hit the mark on quality, performance, packaging and usability. If we haven’t please let us know so we can get it addressed and have 5.0 be the stellar release we’ve been working towards!
As with any major release of a product there are a few changes to how VistaDB works with other components. Many things are not changing; our goal was to ensure that if you were using VistaDB 4, you could upgrade to VistaDB5 with a minimum of fuss. In particular:
- .NET 2.0 SP1 and Later Supported: We continue to support .NET 2.0 for the VistaDB Engine and our ASP.NET Web Site providers.
- Legacy VistaDB SQL Quirks Supported: While we’ve enhanced our compatibility with SQL Server’s T-SQL dialect we continue to support historical VistaDB syntax as well.
Still, we knew there were going to be some cases where just recompiling your code wouldn’t cut it. The key changes are:
- Visual Studio 2010 through 2013 Supported: As of VistaDB 5, we will no longer integrate with Visual Studio 2008 but are adding Visual Studio 2013.
- Entity Framework 4.0 through 6.0 Supported: Entity Framework 1.0 support is discontinued and 6.0 support has been added.
- .NET 4.0 required for Development Tools: The various tools used to develop with VistaDB, such as DataBuilder and the Data Migration Wizard, now require .NET 4.0 be installed instead of .NET 2.0.
- New File Format: VistaDB 5 uses a new file storage format which requires upgrading older databases using the same built-in mechanism VistaDB 4 used.
Visual Studio Integration
VistaDB has offered two different development experiences for some time – one integrated into Visual Studio and the other based around DataBuilder. May developers use both at different times to suit their needs. It has been the tradition of VistaDB to support the current version of Visual Studio plus the previous major release. For VistaDB 5 this means we are discontinuing support for Visual Studio 2008 but adding Visual Studio 2013. This allows us to support three releases of Visual Studio which is feasible largely because of the common API support they all share.
Dropping Visual Studio 2008 has allowed us to use .NET 4.0 for our extension which is important for changes not just in this release but coming in VistaDB 5.5.
Even though support for Visual Studio 2008 is being discontinued you can still use VistaDB 5 with VS 2008 if you aren’t using any of the designer integration features – like the extensions to the Server Explorer view in Visual Studio. For example, our Loupe product has used VistaDB for years and doesn’t rely on the extension for any of its capabilities so it would be unaffected by this change.
Side by Side with VistaDB 4
You will be able to have both VistaDB 4 and VistaDB 5 installed on the same computer and both integrated with Visual Studio so you can have both sets of extensions active at the same time.
Entity Framework Support
VistaDB 5 introduces two builds of the core engine – one for .NET 2.0 through 3.5 and the other for .NET 4.0. To reduce the number of assemblies that we and you have to manage as well as to let us take advantage of improvements in .NET 4.0 we are not going to support Entity Framework except using our new .NET 4.0. Engine. This means that EF 1.0 which shipped in .NET 3.5 will no longer be supported.
Entity Framework 6.0 introduced a new provider model which is supported in VistaDB 5, but only on the .NET 4.0 version of the database engine. This means that Entity Framework is supported for .NET 4.0 and higher applications using EF 4.0 and higher.
.NET 4.0 required for Development Tools
We’ve seen a notable increase in the number of support cases related to attempting to do VistaDB 4 development on a computer without .NET 2.0 installed. This is now often the norm, not the exception. Additionally, third party control vendors that we use with DataBuilder have discontinued support for .NET 3.5 and older. Accordingly, this was the sensible time to move all of our tooling form .NET 2.0 to .NET 4.0. This will allow us to keep this requirement constant for VistaDB 5.5 as well which is sure to require .NET 4.0 features.
This does not affect the runtime you deploy to – you can still use VistaDB 5 with .NET 2.0 SP1 applications by using the version of the VistaDB engine that targets .NET 2.0. This limitation applies just to the development tools which, with the exception of the Data Migration Wizard, are not redistributable.
Database File Compatibility
To enable new features in VistaDB 5 such as new data types and updated encryption the file format has been changed. This means VistaDB 5 databases can only be read by the VistaDB 5 engine.
Upgrading your database from VistaDB 4 or VistaDB 3 to version 5 is done automatically during a Pack operation, just like the upgrade from 3 to 4 was handled under VistaDB 4. As an added bonus VistaDB 5 can open and query VistaDB 4 databases in read-only mode without requiring that they are upgraded. This will let you do query testing with VistaDB 5 before you’re committed to the upgrade path and make it easier to support your customers who may still be using older versions of the engine without requiring multiple versions of the tools on your computer.
If you have an encrypted database upgrading it to VistaDB 5 will migrate the encryption to our new, FIPS-compliant format which has much better performance than the older encryption system (and is a higher standard of encryption). True FIPS-compliant encryption will require using the .NET 4.0 version of the engine due to limitations in the .NET runtime prior to 4.0.
Other Questions about Upgrading
We’ll have a future blog article talking about how to upgrade to VistaDB 5, running VistaDB 5 and VistaDB 4 in the same application (you can!), and mixed-runtime projects (using .NET 2.0 and .NET 4.0). We’re aiming for the widest array of options for you so that you can upgrade to VistaDB 5 as quickly as possible.
Like many of us who’ve lived through the stress of high-profile roll-outs, I’ve been following the news about HealthCare.gov with a lot of empathy for the devs working hard under extreme pressure. I was reminded of my own past when I read this quote from a front page article on CNN:
One concern, listed as “severe,” warned, “CGI does not have access to necessary tools to manage envs in test, imp, and prod. Specifically (1) we don’t have access to central log collection / view (2) we don’t have access to monitoring tools.
Writing health care software is tough
When we formed our company back in 1999, our first big project was a web-based health benefits portal linking employees with insurers. It was far less ambitious than HealthCare.gov, but there were only a dozen of us charged with taking the site from napkin to launch in just six months to meet an immovable open enrollment window.
It was pre-.NET and we hand-rolled a scalable architecture from a mixture of C++, VB6, and dynamic VBScript to handle all the crazy business rules and data transforms required for the dozens of arcane batch-oriented backend mainframes we had to talk with. So many edge cases, so many unknowns. Mostly, I remember working round-the-clock 7 days a week and catching the occasional catnap on the cots we set up in our data center.
Quality logging saved our bacon
The number one thing that really saved us on that project was high-quality logging and monitoring tools. In fact, it was the impetus behind our mission to build the world’s best logging solution for .NET.
Gibraltar Loupe is the expression of our commitment to a world of rock solid software that doesn’t crash or frustrate users. It’s a bold goal shared by countless software craftsmen that will require all kinds of technology, process and education to achieve. We’re passionate about logging because this is how we contribute to that vision.
We created Loupe to make it easy to find and fix flaws in .NET applications. The Loupe logging framework and desktop analysis tool are our completely free contribution to the community. For teams that want more, we make Loupe Server available as a service or a licensed product so that every team can have the right tools for collaborating to improve their software. Give us a shout if you have any questions. Helping you get going with Loupe helps us fulfill our mission.
We also constantly improve our software. We use Loupe on itself and regularly monitor logs generated by Loupe Desktop and Loupe Server to proactively fix bugs and bottlenecks. And we pride ourselves on delivering extraordinary tech support. We’re all about making your job easier, so if something in Loupe is broken or confusing or otherwise wasting your time, that’s unacceptable to us.
Would your .NET project benefit from world-class logging with smart notifications, streamlined error management, and great impact and root cause analysis capabilities? If so, give Loupe a try. We’ve even made it tablet-friendly so you don’t have to sleep on a cot in your data center.