Changes Report

Release History

Version Date Description
3.7 2009-03-01 Release 3.7
3.6.3 2009-01-16 Release 3.6.3
3.6.2 2008-12-16 Release 3.6.2
3.6.1 2008-12-15 Release 3.6.1
3.6 2008-09-03 Release 3.6
3.5.6 2008-08-22 Release 3.5.6
3.5.5 2008-06-16 Release 3.5.5
3.5.4 2008-06-07 Release 3.5.4
3.5.3 2008-06-01 Release 3.5.3


Release 3.7 - 2009-03-01

Type Changes By
fix Turned off baseline alignment support for components that has BaselineResizeBehavior == OTHER. This means that for instance JLabel with HTML content will now be aligned vertically as CENTER rather than BASELINE. This is because the HTML implementation in Swing doesn't return a reasonable baseline value anyway. For instance, it quite often returns different values for the same arguments when called twice in sequence and every now and again returns a negative value indicating it doesn't support baseline alignmnent. mikaelgrev
fix Improved SWT text components having the Swt.WRAP property set. They should now get a more correct height that is dependant on the width. mikaelgrev
fix Component constraints "push", "pushx" and "pushy" was still affecting the layout even if the component was invisible in hidemode 2 and 3. Now that will happen only in hidemode 0 and 1. mikaelgrev
fix There was still a case when "skip" did not skip the correct number of cells. mikaelgrev
fix A cell spanning many columns did not transfer its minimum size in an optimal way. Now a column will get more pixels if its preferred size is larger than its minimum size. Before, the last column was increased to a size more than its preferred while another column could get somewhere between its minimum size and preferred size. Basically all columns will now be pushed to their preferred size before the last column will be increased. Still, if there is a "push" component/column it will be increased before any other column. Rows and columns are intechangeable in this context. mikaelgrev
fix If a component had a 'grow' constraint it would affect the column and/or row to take up more space if the whole layout was set to 'fill' the bounds. This was a legay from the time when 'push' did not exist. 'push' now does that so it is not logical that 'grow' should do it as well. 'grow' now only affects the component so that it will take up as much space as it can without affecting the grid. It should be noted that everything now works as the documentation has stated the whole time. If your layouts change to not grow in some way due to this then look for 'grow' (or growx/growy) and add a similar 'push' next to it. mikaelgrev
fix If there were more than 512 rows or columns in the grid the preferred size was sometimes wrong (negative). mikaelgrev
fix Made the persistance delegate addtion for UnitValue and BoundsSize not look for the BeanInfo classes, since they will never exist and it delays startup in as an Applet. Thanks Anthony. mikaelgrev

Release 3.6.3 - 2009-01-16

Type Changes By
add Added Linux/Gnome platform defaults. This means that Gnome Human Interface Guidelines' gaps and sizes are now correct on Linux. joeluckelman
fix MigLayout in a Serialized component throws a NPE. mikaelgrev

Release 3.6.2 - 2008-12-16

Type Changes By
fix "skip" skipped cells before they where checked if there was a spanning component. This meant that "skip" did sometimes not skip a cell, instead it skipped the cell that would be skipped anyway since there was another component (spanning) there already. This is unlikely to affect many and if it does you are probably overusing the "skip" keyword anyway. :) mikaelgrev

Release 3.6.1 - 2008-12-15

Type Changes By
fix "skip" did not take automatic layout wrapping (wrap in the Layout Constraints) into account. So if you skipped the last cells on a row the component did not end up in the next row as expected but on the same row. "skip" now alwats skips the correct number of cells and move to new rows as needed. mikaelgrev
fix If "newline size" or "wrap size" was used with "span" the size was attached to the wrong row. Also, if there was a wrap on one line and a newline on the next the extra row was removed, which was also a bug. mikaelgrev
fix Fixed a strange shrinkage of some components due to calling Window.getPreferedSize() within the layout loop. This seem to be a workaround for a Swing bug rather than a big in MigLayout but it is hard to know. mikaelgrev

Release 3.6 - 2008-09-03

Type Changes By
fix The parser now throws an IllegalArgmentException if links to other components are in the min/pref/max width or height keywords. Prior to this the link was silently evaluated to 0. mikaelgrev
fix Made "sg" and "sizegroup" set the size group for both width and height. This might break old code but this way is more compliant with for instance "grow", which is also a short for both dimensions. It was not documented either way so I thought I would make it the most logical choise. If you have bugs because of this make sure you don't have "sg" or "sizegroup" without the trailing "x" or "y". mikaelgrev
fix a component's width and/or height. Note that links to properties of another component can only be made in an absolute setting, w.g "pos (comp1.x+comp1.width/2) 200". mikaelgrev

Release 3.5.6 - 2008-08-22

Type Changes By
fix Fixed a bug that linked sizegroupx and sizegroupy in certain circumstances. mikaelgrev
fix Fixed a memory leak that pegged the layout instance in memory when debug mode was used. Thanks Dieter Krachtus. mikaelgrev

Release 3.5.5 - 2008-06-16

Type Changes By
fix Added a compensation for a probable Swing bug introduced in java 6.0. In Swing when calling component.getBaseline(width, height) on a component that has embedded HTML and at least one BR or P section, Swing always revalidates the layout. This leads to a new call to component.getBaseline(width, height) and the loop goes on forever. It is unclear how to get out of this loop, if there even exist a simple all-working solution. In the mean time you can set "aligny center" or "aligny top" to make it not call that method from this version. mikaelgrev
fix IDEUtil: Fixed a formatting error in IDEUtil where gaps was not recreated correctly. mikaelgrev
fix IDEUtil: Fixed a formatting error in IDEUtil where width/height was used together with maxWidth/maxHeight. mikaelgrev
fix If there was an active "split" in progress a docking component would be in that split instead of docked. mikaelgrev
add Converted MigLayout project to Maven 2 for build and deploy management. See the Maven part of the site for information on how to use MigLayout though Maven. anavarro

Release 3.5.4 - 2008-06-07

Type Changes By
add IDEUtil: Added option to get which cells in the layout grid the components end up in. Good for IDE Integrators.. mikaelgrev

Release 3.5.3 - 2008-06-01

Type Changes By
fix If aligny baseline was specified for a textfield component it might get x and w that were wrong. Thanks Konstantin Scheglov - Instantiations, SwingDesigner. mikaelgrev
fix TextFields in a baseline does not align the first layout if it has size 0, 0 before. Thanks Konstantin Scheglov - Instantiations, SwingDesigner mikaelgrev