We’re here at Techorama in Antwerp, are you?

Techorama2017

Just a quick note to say we – John, Don, and I – will be manning our booth at Techorama at the Kinepolis Antwerpen tomorrow and Wednesday, so if you are here, please make sure that you pop over and say hello, discuss your experiences with our products, and get some swag. We are certainly looking forward to meeting you, saying hi to the attendees who don’t know us yet, and having some fun.

And yes, I’m talking about the booth that we’re about to go and set up, which is why I don’t have a picture of it or us yet. Stay tuned!

DevExpress Universal v17.1 released

As usual this close to a release, our Community Site recently has been filled with posts labeled “Coming Soon in v17.1”. Even with the beta being available, I’m sure you’ve been anticipating our first major release of the year, getting ready to crack on with updating your apps and using the new enhancements. Well, wait no more: the teams have completed their testing of the build and it was published to the Download Center around lunchtime, my time. If you have an active subscription, you can go now to our Download Center, log in, and download the latest and greatest.

For what’s new in this release, please go to this page and read all about the enhancements we’ve provided.

This page shows the Resolved Issues introduced in this release. There are a great number, let me tell you, so apologies if it takes a little while to load the page…

For every major release, no matter how hard we try and minimize the impact, the new features and enhancements are bound to cause a few breaking changes. You can read about the v17.1 breaking changes here.

As with every release, we are extremely grateful to everyone who provided feedback on our products, who used and tested the beta and provided information on the issues they found, and, of course, to all our customers who use our products every day. We hope that what we have in v17.1 is going to validate that trust in and appeal of our products.

DevExpress at Microsoft Build 2017, Day 2

If you are a developer that uses Microsoft’s products (Azure, Windows, Visual Studio, VSCode) to any great degree, you will know that this week is the week of the Microsoft Build developers’ conference. And, of course, Developer Express is here with their booth hosted by Amanda; with technical evangelists Paul, Areg, and Mehul, that know their stuff and who are ready to discuss your use of our products, demo our controls and widgets for v17.1; and … me.

DevExpress booth at Bulid 2017

I’m sure that you are keeping abreast of the news coming out from the conference: Azure, the new AI stuff, Windows 10 Fall Creators update, HoloLens and so on, so I won’t repeat it here. Nevertheless, it’s certainly been interesting talking to the attendees that pass by our booth about the issues they see with their apps and projects, and how we can help them resolve them. If you’re here and haven’t come by to say hello yet, we’re right by the truck (if you want to know, it’s for a HoloLens demo), and we’re ready to say hi and give out some swag.

Evangelism at the DevExpress booth at Build

…the technical evangelists: come stump them with your questions!

Amanda at the DevExpress booth at Build

…and Amanda will present you with our swag!

WinForms Default Settings: Some changes afoot in v17.1

Default settings: they can be a force for good and then quite quickly they can be a right royal pain. After all, when we supply some advanced functionality as part of our suites and controls, it’s good to have a reasonable default setting for the new property or behavior. The issue then becomes what happens when we add some more behavior and suddenly the current default setting is no longer the optimal or better one. What to do? Alter it and have it result in some breaking change in your app? Mmm.

Wrenchv17.1 of the WinForms suite of controls brings numerous new features, features that we are starting to describe in blog posts. As part of these new, and we hope, better features, we’re changing some default settings. First, let me list the changes I’m talking about, and then I’ll describe how we’re going to mitigate them.

  • With the Data Grid, Vertical Grid and Tree List end-users will be able to modify unbound columns' expressions by using the advanced Expression Editor dialog, which supports auto- completion and syntax highlighting.
  • Automatic filtering rows for Data Grid and Tree List now allow end-users to change the filtering condition from the default "Equals" (or "Like") to any other condition, e.g. "Starts With" or "Is Not Like".
  • Data Grid now prefers speed rather than absolute precision when calculating the best widths for columns.
  • Excel-inspired filtering menus are now the default filters for Data Grid and Tree List controls.
  • End-users can now hold the "Ctrl" key when dragging Data Grid column headers to the group panel. This allows end-users to apply joint data grouping by multiple columns at once.
  • The default Ribbon style is now "Office 2013".
  • Tree List control now enables filtering and shows its Find panel out-of-the-box.

I’m sure that you’ll agree that these changes and defaults are very beneficial to your users, but I’m sure there are occasions when you’d rather introduce such changes in a step-wise fashion over a period of time rather than just have them all suddenly appear when you upgrade to v17.1. For new apps, sure, have at it, let’s use them all.

To help you out, we have also added a new static property: DefaultSettingsCompatibilityMode. To revert all these defaults to their previous values in one go, simply change this property value from Latest to v16. (Refer to this documentation article to see the complete property list this setting affects.) I’m sure you can see where this is going in the future: adding other enumeration values for later version numbers to revert defaults back to a known point.

WPF Rich Text Editor: Upcoming Breaking Change

Starting with v17.1, we are improving how we generate the ribbon for the WPF Rich Text Editor with regard to where we source the images used. Although we shall be maintaining the current behavior alongside the new enhancements for v17.1, this backward compatibility will be removed in v17.2, causing a possible breaking change.

WrenchCurrently the ribbon generation process uses images from two different sources: the DevExpress.RichEdit.Core.dll assembly, as well as the WinForms Rich Text Editor (no, that is not a typo!). To put it mildly, this is not optimal. In v17.1, we have copied these images to the DevExpress.Images.dll assembly as well, and the new ribbon generation code for the Rich Text Editor will source the images from there. However, this could cause a breaking change since we are referencing an assembly that you may not be deploying as part of your app.

Please note that the images are exactly the same, they are just provided in a different assembly.

Of course, this double collection of ribbon images could be a source of future bugs: we have to ensure any new or changed images are compiled into two completely different assembly sets. Indeed you could view this as a special kind of “code duplication”. Hence, in v17.2 we shall be removing these Rich Edit ribbon images from the Core assemblies, and from then on they will only be available from the Images assembly.

To avoid future problems, when you upgrade to v17.1, please ensure that the DevExpress.Images.dll assembly is included in your build process.

More Posts