Releases: codion-is/codion
Releases · codion-is/codion
0.18.12
Changes
is.codion.swing.common.ui
- AbstractComponentBuilder bug fixed, now sets the initial component value only if an initialValue has been set, otherwise model based components (List, ComboBox etc.) clear the initial model state.
- ComponentBuilder.clear() removed, AbstractComponentBuilder now always creates the associated ComponentValue, related refactoring.
- AbstractComponentBuilder now adds the associated ComponentValue as a client property on the resulting component.
- FilterTableCellRenderer.Settings.selectionBackgroundColor() and backgroundShaded() bug fixed alternate row coloring now correct.
- FilterTableCellRenderer.Settings.alternateRowColor() renamed alternateRow(), now static.
is.codion.swing.framework.ui
- EntityPanel.createControlPanel() toggle button type now the default BUTTON.
- EntityPanel, overridable controlComponent() replaced with Config.controlComponent().
- EntityPanel, overridable editBasePanel() replaced with Config.editBasePanel().
- EntityTableCellRendererBuilder.EntitySettings.backgroundColorShaded() bug fixed, alternate row coloring now correct.
0.18.11
Changes
is.codion.common.model
- ColumnConditionModel, bound value getters and setters removed.
- ColumnConditionModel.operand() added.
- DefaultColumnConditionModel refactored.
- ColumnConditionModel.Operand renamed Operands.
is.codion.framework.domain.db
- Column.AuditColumnDefiner added, related refactoring.
is.codion.swing.common.model
- DefaultFilterComboBoxModel.filterSelectedItem() now false by default, less confusing.
- FilterComboBoxModel.ItemFinder.findItem() now returns Optional.
is.codion.swing.common.ui
- CalendarPanel.Builder.locale() added.
- CalendarPanel now takes the first day of week according to locale into account.
- CalendarPanel now uses labels instead of buttons to represent days.
- CalendarPanel, ALT modifier removed from day/week keyboard shortcut.
- CalendarPanel bug fixed, day and month labels used default locale instead of the selected one.
- CalendarPanel.Builder.firstDayOfWeek() added, related refactoring.
- DefaultProgressBarBuilder bug fixed, no longer uses a null model for indeterminate progress bars, Look & Feels may require it.
- FilterTableCellRenderer.Settings.backgroundColor() bug fixed, no longer returns alternate row color when alternate row coloring is disabled.
- FilterTableCellRenderer bug fixed, now respects Table.alternateRowColor if set, even if alternate row coloring is disabled.
is.codion.framework.model
- EntityTableConditionModel.setEqualConditionValue() and setInConditionValues() renamed setEqualOperand() and setInOperands() respectively.
is.codion.swing.framework.ui
- EntityTablePanel.TablePanel.createColumnSummaryPanels() bug fixed, no longer assumes FilterTableCellRenderer when determining the horizontal alignment.
- EntityTablePanel.setConditionStateHidden(), focus flicker when hiding focused condition/filter panel fixed.
0.18.10
Changes
is.codion.common.core
- DatabaseException.statement() and sqlState() now return Optional.
is.codion.common.model
- TableSelectionModel.selectedItems() and selectedIndexes() added for consistency.
is.codion.swing.common.ui
- FilterTable.filterPanel() now returns TableConditionPanel.
- FilterTable.Builder.filterPanelFactory added.
- FilterColumnConditionPanel.Builder added, now configures the horizontal alignment of components according to the associated table column.
- InputDialog.show() with closeDialog Predicate parameter added.
- CalendarPanel bug fixed, no more focus flicker when day panel is reset when navigating between months by week, focus now follows day when toggled.
- SelectionDialogBuilder.dialogSize() added.
is.codion.framework.domain.db
- Module is.codion.framework.domain.db split from is.codion.tools.generator.domain.
- DatabaseDomain renamed SchemaDomain.
- SchemaDomain.SchemaSettings added, audit column names can now be specified.
- SchemaDomain.SchemaSettings.primaryKeyColumnSuffix() added for improved foreign key names.
is.codion.framework.server
- LocalConnectionHandler now logs exceptions occurring when returning connection to pool.
is.codion.tools.generator.domain
- DomainSource, domain implementation now in base source package with the API in a separate api package.
is.codion.tools.generator.model
- DomainGeneratorModel no longer keeps a live Connection instance, now creates short lived connections on demand, related refactoring.
is.codion.swing.framework.ui
- EntityDialogs.DefaultEditAttributeDialogBuilder, bug fixed, retrying a failed update now working again.
- EntityDialogs.EditAttributeDialogBuilder.Updater removed.
- EntityDialogs.SelectionDialogBuilder.preferredSize() replaced with dialogSize().
- EntityDialogs.SelectionDialogBuilder renamed EntitySelectionDialogBuilder, implementation refactored, now uses Dialogs.actionDialog().
is.codion.swing.framework.ui.test
- EntityEditPanelTestUnit, createEditPanel() removed, edit panel initializer function parameter added.
- EntityApplicationPanelTestUnit now initializes all entity panels.
- EntityApplicationPanelTestUnit, domainType constructor parameter added, related refactoring.
0.18.9
Changes
is.codion
- columnIdentifier renamed identifier where applicable.
is.codion.common.core
- Memory utility class removed.
- Separators utility class removed.
- State.Builder now extends Value.Builder.
is.codion.common.rmi
- ServerConfiguration.Builder.connectionMaintenanceIntervalMs() renamed to connectionMaintenanceInterval().
- ServerAdmin, ServerStatistics.allocatedMemory() renamed totalMemory().
- RemoteClient.Builder added, replacing static factory methods.
is.codion.swing.common.model
- DefaultFilterTableSelectionModel, inheritance replaced with composition.
is.codion.swing.common.ui
- MemoryUsageField removed.
- TableConditionPanel.Factory.create(), onPanelInitialized parameter added.
- FilterTableConditionPanel.initializedEvent() removed, onPanelInitialized parameter added to factory method.
- TemporalField, TemporalFieldPanel, dateTimePattern parameter moved from factory method to builder, related refactoring.
is.codion.swing.framework.model
- SwingEntityTableModel, bug fixed, three methods that should have been final are now final.
- SwingEntityTableModel, color cache now static.
is.codion.swing.framework.ui
- EntityEditComponentPanel.component() now protected, attributes() and component(attribute) removed, unused.
- EntityEditComponentPanel.initialFocusComponent(), initialFocusAttribute(), afterInsertFocusComponent(), afterInsertFocusAttribute() and selectableComponents() now protected.
- EntityEditPanel.control() and controls() now protected.
0.18.8
Changes
is.codion.common.core
- Value.BuilderFactory added, nullable() and nonNull() methods replaced with builder() returning a BuilderFactory.
- AbstractValue.get() now implemented and final, protected getValue() added, clearValue() removed.
- ValueObserver.isNullable() renamed back to nullable(), no factory method conflict any more.
- Text.WILDCARD_CHARACTER removed, wildcards no longer configurable.
- Value.value() factory method overloaded with initialValue.
- PropertyStore.propertyStore() and writeToFile() parameters changed from File to Path.
is.codion.common.rmi
- ServerConfiguration.connectionLimit() added.
is.codion.swing.common.ui
- FilterColumnConditionPanel, minor focus related refactoring.
- TextComponents.selectAllOnFocusGained() and selectNoneOnFocusGained() removed.
is.codion.framework.server
- EntityServerConfiguration.connectionLimit() moved up to ServerConfiguration.
- EntityServerConfiguration.LOG removed, related refactoring.
is.codion.swing.framework.model
- SwingForeignKeyConditionModel bug fixed, IN operator only selected by default if entity is searchable.
is.codion.swing.framework.ui
- EntityTablePanel, EDIT control used as double click action if available.
- TabbedDetailLayout bug fixed, detail panel no longer loses focus when embedded, focus flicker reduced by clearing the focus.
- EntityDialogs.DefaultEditEntityDialogBuilder bug fixed, now reverts any edits on cancel.
is.codion.plugin.jasperreports
- Dependencies fixed, org.apache.xmlgraphics no longer excluded, automatic module info added.
0.18.7
Changes
is.codion.common.core
- DatabaseConnection.getConnection() now throws IllegalStateException if the connection has been closed, valid() added.
- State.Builder.validator() type parameter widened, now consistent with Value.addValidator().
is.codion.common.model
- ColumnConditionModel.Builder.operator() added for specifying the default condition operator.
is.codion.swing.common.ui
- SearchHighlighter.Builder added, scrollYRatio and scrollXRatio added.
- TextComponentBuilder.initialCaretPosition() added along with InitialCaretPosition enum.
- TextComponentBuilder.caretUpdatePolicy() added.
- SearchHighlighter now updates its color scheme dynamically when the look and feel is changed.
is.codion.framework.domain
- DomainModel.add(EntityDefinition.Builder... builders) removed.
- DomainModel, DefaultEntities.setStrictForeignKeys() renamed validateForeignKeys().
- AttributeDefinition.prepareValue() removed, functionality moved to DefaultEntity, decimal fraction digits coming from database no longer modified.
- AbstractAttributeDefinitionBuilder.attribute no longer protected, public accessor available.
- DerivedAttributeDefinition caching can now be disabled, cached() added, default true, cached values can be removed via remove() and are included when entities are serialized.
- AttributeDefinition.denormalized() removed, no longer used.
- KeyGenerator.Identity added.
- DefaultColumnDefinition.BigDecimalFetcher now strips trailing zeros from values coming from the database.
is.codion.framework.model
- ForeignKeyConditionModel now defaults to Operator.IN when available.
- DefaultForeignKeyDetailModelLink.setForeignKeyCondition() now always uses Operator.IN.
- EntityTableModel.getRowCount() renamed rowCount().
is.codion.swing.framework.ui
- EntityTablePanel, bug fixed, three methods that should have been final are now final.
- SwingForeignKeyConditionModel now defaults to Operator.IN when available.
is.codion.tools.generator.domain
- DomainSource no longer adds KeyGenerator.identity() import unless it is actually used.
is.codion.plugin.jasperreports
- JasperReports automatic module names updated, hopefully the ones they end up using.
0.18.6
Changes
is.codion
- Dependency cleanup using dependency-analysis-gradle-plugin.
- BuildReportsPlugin replaced with io.github.f-cramer.jasperreports.
is.codion.common.core
- ProxyBuilder.DefaultHandler.invoke() bug fixed, now unwraps the InvocationTargetException and rethrows the target exception.
- ValueLink, automatically reverting a value change on exception functionality removed, far from bulletproof especially when dealing with component values.
is.codion.swing.common.ui
- FilterTable.createAutoResizeModeControl() renamed createSelectAutoResizeModeControl()
- Controls.Builder.controls() parameter now Collection<? extends Control>.
- FilterTable.createSelectAutoResizeModeControl() bug fixed, was only enabled when column model was unlocked.
- FilterTable.createToggleAutoResizeModelControls() added.
is.codion.framework.domain
- Entity.mapToPrimaryKey() renamed primaryKeyMap().
- Entity.entitiesByValue() removed.
- DefaultEntity bug fixed, no longer caches values of derived attributes without source attributes.
is.codion.framework.domain.test
- EntityFactory.populateForeignKeys() removed, related refactoring.
- DomainTest now prevents transactions from being closed on the active connection during a test.
is.codion.framework.db.core
- DefaultLocalEntityConnection.createValueString() bug fixed, now catches Exception instead of just SQLException, since creating a log message should never fail.
is.codion.plugin.jasperreports
- JasperReports upgraded to 7.0.0.
is.codion.swing.framework.ui
- EntityTablePanel.ControlKeys.COLUMN_AUTO_RESIZE_MODE renamed SELECT_AUTO_RESIZE_MODE.
- EntityTablePanel.ControlKeys.TOGGLE_AUTO_RESIZE_MODE_CONTROLS added along with AutoResizeModeSelection and Config.autoResizeModeSelection().
- EntityTablePanel.setupStandardControls() bug fixed, no longer overwrites previously configured controls.
is.codion.tools.loadtest.ui
- LoadTestPanel now displays an indeterminate progress bar while shutting down.
0.18.5
Changes
is.codion.common.core
- DefaultProxyBuilder.MethodKey now caches the hashCode.
- ProxyBuilder.ProxyMethod.invoke() now throws Throwable.
is.codion.common.db
- AbstractConnectionPoolWrapper now uses ProxyBuilder.
is.codion.framework.domain.test
- EntityTestUnit renamed DomainTest.
- DomainTest.EntityFactory refactored.
- DomainTest.EntityFactory.foreignKey() and createValue() renamed entity() and value().
is.codion.plugin.imagepanel
- NavigableImagePanel bug fixed, now creates the navigation image when it is enabled for the first time.
is.codion.tools.generator.model
- Module is.codion.tools.generator.domain split from model.
is.codion.tools.monitor.ui
- HostMonitorPanel, refresh toolbar removed.
is.codion.swing.common.ui
- DefaultFilterTableSearchModel bug fixed, no longer throws ArrayIndexOutOfBoundsException when searching through a table with one or more hidden columns.
- FilterTable.Builder.cellEditorFactory() added along with FilterTableCellEditor, FilterTableCellEditorFactory and DefaultFilterTableCellEditor.
is.codion.swing.framework.ui
- EntityTablePanel bug fixed, refresh progress bar did not updateUI() when switching look and feel.
- EntityApplicationPanel.exit() now catches Throwable when trying to save preferences, logged as error, otherwise it can prevent application exit.
- EntityTablePanel.Config.cellEditorComponentFactories removed, functionality moved to FilterTable.
- EntityTableCellEditorFactory added.
v0.18.4
Changes
is.codion
- Load test, generator and server monitor modules moved to tools directory.
- Load test, generator and server monitor modules renamed.
- Load test, generator and server monitor module packages renamed to reflect module names.
is.codion.swing.common.tools.model
- Module renamed to is.codion.swing.common.loadtest.model.
is.codion.swing.common.tools.ui
- Module renamed to is.codion.swing.common.loadtest.ui.
is.codion.framework.domain.entity.test
- EntityTestUtil replaced with EntityTestUnit.EntityFactory, related refactoring.
is.codion.swing.framework.model.tools
- EntityLoadTestUtil removed.
- Module renamed to is.codion.swing.framework.generator.model.
is.codion.swing.framework.ui.tools
- Module renamed to is.codion.swing.framework.generator.ui.
is.codion.swing.framework.ui
- DefaultEntityApplicationPanelBuilder bug fixed, no longer tries to create a default login user when no default username is available in preferences.
0.18.3
Changes
is.codion.common.db
- ConnectionPoolWrapper.poolDataSource() removed, getPool() renamed connectionPool(), related refactoring.
- AbstractConnectionPoolWrapper.connectionPool now final.
is.codion.common.rmi
- RemoteClient.clientHost() no longer nullable, RemoteClient.UNKNOWN_HOST added.
- ServerConfiguration.rmiClientSocketFactory(), rmiServerSocketFactory() and objectInputFilterFactoryClassName() now return Optional.
is.codion.common.model
- DefaultLoadTest.DefaultBuilder.user() null check added.
- ColumnConditionModel.format() now returns Optional.
is.codion.swing.common.ui
- Controls.Config.standard() renamed control().
- NumberField.numberValue() renamed value().
- KeyEvents.Builder.enable() and disable() overloaded with Collection parameter.
- ControlKey.defaultKeyStroke() now Value based and configurable.
- Controls.Config.create(), ControlMap parameter added, related refactoring.
- Controls.Config renamed Layout, standard controls layouts can now be configured, related refactoring.
- ControlKeyStrokes removed, instance methods moved to ControlMap, static helper methods moved to KeyEvents, related refactoring.
- Controls.Layout no longer extends ControlsKey.
- ControlKey.name() added.
- Controls.Builder.controls(Collection controls) added, related cleanup.
- FilterTableColumn.toolTipText() now returns Optional.
- DefaultControlMap.control() and controls(), control key not found error message now contains the control key name, test improved.
is.codion.swing.framework.ui
- EntityTablePanel bug fixed, summary panel toggle control displayed only if a summary panel is available.
- EntityApplicationPanel.createMainMenuControls() and related methods now Optional based.
- EntityApplicationPanel, control for opening log folder added to help menu, related refactoring.
- EntityPanel, EntityEditPanel, EntityTablePanel.Config.keyStroke() now consumer based providing access to the current keyStroke.
is.codion.swing.framework.server.monitor
- ServerMonitorPanel, ClientUserMonitorPanel, shutdown and disconnect confirmation changed from OK/Cancel to Yes/No.