Releases: codion-is/codion
Releases · codion-is/codion
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.
0.18.2
Changes
is.codion.swing.common.model
- DefaultFilterTableModel now validates column identifier uniqueness.
is.codion.swing.common.ui
- Control.control() renamed commandControl().
- Control.BuilderFactory.actionCommand() renamed action().
- FilterTable now validates column identifier uniqueness.
- FilterTableColumn.setIdentifier() now throws UnsupportedOperationException instead of IllegalStateException.
- ControlSet renamed ControlMap, ControlId renamed ControlKey.
- NumberDocument, NumberField.setRethrowValidationException() replaced with setSilentValidation().
is.codion.framework.domain
- DefaultColumnDefinition.groupBy, aggregate, selectable and lazy no longer transient.
is.codion.framework.db.local
- DefaultLocalEntityConnection.createValueString() bug fixed, did not respect Column.Converter.handlesNull().
is.codion.framework.model
- EntityConditionModelFactory, now creates condition models for all attributes, whether selectable or not.
is.codion.swing.framework.ui
- EntityPanel.Config.editPanelConstraints() and EDIT_PANEL_CONSTRAINTS configuration value added.
- EntityPanel.Navigate bug fixed, navigating down always activated the first detail panel, instead of the currently linked one.
0.18.1
Changes
is.codion.swing.common.ui
- TableConditionPanel.initializedEvent() added.
- FilterTable bug fixed, now configures the filter condition panels correctly.
- FilterTableCellRenderer, minor renaming of configuration value keys.
- FilterTableCellRendererFactory.tableCellRenderer() now returns FilterTableCellRenderer instead of TableCellRenderer.
- FilterColumnConditionPanel bug fixed, GREATER_THAN_OR_EQUAL was missing from LOWER_BOUND_OPERATORS.
- FilterTable, mouse click modifier for adding a sort column changed from Ctrl to Alt.
- Control now immutable, related refactoring.
- Controls now immutable, related refactoring.
- Control.BuilderFactory added, related refactoring.
- FilterTableColumn.identifier() added.
- FilterTable.model() added.
- Control related renaming and refactoring.
- ControlId, ControlShortcuts and ControlSet added, KeyboardShortcuts removed, related refactoring.
- KeyEvents, special handling added for JSpinner.
- AbstractSpinnerBuilder, now makes the spinner non-focusable only if editable, editor no longer focusable if not editable, no longer overrides enableTransferFocusOnEnter().
- AbstractControl.Enabler now acts on the EDT.
- AbstractComponentBuilder now always sets the initial value even if it is null, related refactoring.
- ControlShortcuts renamed ControlKeyStrokes.
is.codion.swing.framework.model
- SwingEntityTableModel.EntityTableColumns, problematic override of comparable() removed.
is.codion.swing.framework.model.tools
- DomainGeneratorModel bug fixed, sourceDirectorySpecified and domainPackageSpecified states now initialized properly.
- DomainGeneratorModel bug fixed, save now enabled only when a populated schema is selected.
is.codion.swing.framework.ui
- EntityConditionFieldFactory.createInForeignKeyField() bug fixed, did not handle SwingForeignKeyConditionModel.
- DefaultEntityApplicationPanelBuilder bug fixed, did not close initialization frame on exception.
- EntityTablePanel no longer initializes the table condition panel lazily, now that FilterColumnConditionPanel is initialized lazily.
- EntityApplicationPanel.preferences removed.
- EntityTablePanel.conditionPanelStateChanged() bug fixed, did not initialize the condition scroll pane.
- EntityTablePanel.configureColumnConditionComponent() bug fixed, did not handle combo boxes.
- EntityTablePanel, minor optimization, now uses a single ScrollToColumn instance.
- EntityEditPanel bug fixed, modified warning no longer triggered when the active entity is replaced with an updated version of itself.
- EntityApplicationPanel.createHelpMenuControls() bug fixed, trailing separator removed.
- EntityDialogs.AddEntityDialogBuilder, EditEntityDialogBuilder.confirm() added, default false.
- EntityComboBox, EntityComboBoxPanel.Builder, EntitySearchField, EntitySearchFieldPanel.Builder.confirmAdd() and confirmEdit() added.
- EntityEditComponentPanel.onException() bug fixed, no longer displays cancel exceptions.
- EntityPanel, empty border added around edit panel when displayed in a window.
0.18.0
Changes
is.codion
- ServiceConfigurationError caught, cause unwrapped and rethrown.
is codion.common.core
- Text.SpaceAwareCollator bug fixed, now treats null values as an empty string.
- Nulls utility class added.
- MessageBundle added, Messages service provides a way to override default localization messages.
- is.codion.common.resources renamed resource.
- Value.mapNull() removed, no longer used.
- Messages renamed Resources. DefaultMessageBundle now throws correct exception in case of a missing resource.
- Resources.get() renamed getString(), consistent with ResourceBundle.
- Operator.IN and NOT_IN added.
- Operator, reordered to group single value operators.
- State.Group no longer uses weak references for member states.
- State.Group now enables the previously enabled state when the currently enabled state is disabled, instead of leaving all states disabled.
- State.Group bug fixed, now enables the next state when the currently enabled state is disabled and a previously active state is not available.
- Value.addValidator(), removeValidator(), validator type now ? super T.
is codion.common.db
- Database.databaseException() renamed exception().
- Database.createConnectionPool() now returns the pool.
- ResultIterator now implementes Iterable.
- Database.COUNT_QUERIES configuration value added.
is codion.common.model
- ColumnSummaryModel.SummaryValues removed, related refactoring.
- ColumnSummaryModel.SummaryValueProvider renamed SummaryValues, related renaming.
- FilteredModel.Refresher.itemSupplier() renamed items(), related renaming.
- FilteredModel renamed FilterModel.
- ColumnConditionModel.equalValues() replaced with equalValue() and inValues().
- ColumnConditionModel.Factory.supports() renamed includes().
- ColumnConditionModel.Factory.includes() removed, createConditionModel() now returns Optional.
is.codion.swing.common.model
- FilteredComboBoxModel.ItemFinder.createPredicate() renamed predicate().
- FilteredComboBoxModel.sortVisibleItems() renamed sortItems(), now public.
- FilteredComboBoxModel.sortVisibleItems() bug fixed, now takes the null item into account.
- Controls.Builder.defaults(stopAt) now includes the specified stopAt control instead of stopping before it.
- DialogBuilder, FrameBuilder.titleProvider() renamed title().
- LookAndFeelProvider.addLookAndFeelProvider() renamed addLookAndFeel().
- FilteredTableCellRenderer.Builder.columnShadingEnabled() renamed columnShading().
- FilteredTableModel.Builder.itemValidator() renamed validator(), related renaming.
- Major surgery, FilteredTableModel.sortModel(), searchModel(), summaryModel() and columnModel() moved to FilteredTable, related refactoring.
- FilteredTableModel renamed FilterTableModel, related renaming.
- FilteredComboBoxModel renamed FilterComboBoxModel.
- FilteredTableModel.ColumnValueProvider renamed ColumnValues, related renaming.
- FilterComboBoxModel now interface, DefaultFilterComboBoxModel added.
is.codion.swing.common.ui
- ProgressDialog.Builder, ProgressWorkerDialogBuilder.controls() replaced with control().
- ProgressDialog bug fixed, no longer adds an empty south panel when no controls are specified.
- KeyboardShortcut.Shortcut.keyStroke() now returns Optional.
- Control keyboard shortcut handling refactored.
- AbstractComponentBuilder bug fixed, now able to set size values to zero, validates size values.
- FilteredTable.MoveResizeColumnKeyListener bug fixed, now longer triggers when modifiers are added, restricted to the correct keys.
- FilteredTable, move and resize column controls added, default key stroke now configurable.
- FilteredTable, key strokes now configurable.
- FilteredTableCellRenderer.CollColorProvider renamed CellColors.
- FilteredTableCellRenderer.Builder.displayValueProvider() renamed values().
- LookAndFeelProvider.CROSS_PLATFORM and SYSTEM configuration values added.
- Control.copy() added, copying the control with the underlying command.
- EntityPanel.Config.editPanelState() and editPanelStates() renamed initialEditState() and enabledEditStates() respectively.
- TabbedDetailLayout.Builder.panelState() and panelStates() renamed initialDetailState() and enabledDetailStates() respectively.
- FilteredTable renamed FilterTable, related renaming.
- SearchHighlighter.nextSearchPosition() and previousSearchPosition() now public.
- SearchHighlighter default colors now based on the selection color of the component.
- ComponentBuilder.onBuildValue() added, related refactoring.
- LookAndFeelProvider.defaultLookAndFeelName() overloaded with a defaultLookAndFeel parameter.
- FilterTable.copyToClipBoard() bug fixed, always exported the whole table instead of the selected rows.
- ColumnConditionPanel now supports the IN operator.
- ListBoxBuilder added.
- ListBoxBuilder.string() added, providing the string values to render in the list.
- FilterTableCellRenderer.Builder.values() renamed string().
- AbstractColumnConditionPanel and AbstractFilterTableConditionPanel added, related refactoring.
- AbstractColumnConditionPanel, AbstractFilterTableConditionPanel.focusGainedEvent() removed.
- AbstractColumnConditionPanel and AbstractFilterTableConditionPanel replaced with interfaces FilterTable.ColumnConditionPanel and FilterTable.TableConditionPanel, related refactoring.
- TableConditionPanel.conditionPanel() now returns Optional.
- FilterTableConditionPanel.conditionPanels() bug fixed, now actually returns the panels.
- PersistMenuCheckBoxMenuItem and PersistMenuRadioButtonMenuItem bug fixed, responded to mouse events when disabled.
- ColumnConditionPanel.ConditionState and state() added, FilterTableConditionPanel.state() added, related refactoring.
- FilterTable.Builder.filterState() added.
- FilterColumnConditionPanel.columnConditionPanel() renamed filterColumnConditionPanel().
- TableConditionPanel.Factory added.
- FilterTableConditionPanel bug fixed, now overrides updateUI() in order to update hidden components.
- NumberDocument, NumberField.setRethrowValidationException() added, can now be turned off for the field to prevent invalid input without displaying the exception.
- TableConditionPanel.conditionPanel() no longer returns Optional.
- TableConditionPanel.selectCondition() added.
- TableConditionPanel and ColumnConditionPanel now abstract classes.
- ColumnConditionPanel.caption() added.
- TableConditionPanel.selectCondition() renamed selectConditionPanel() and implemented, related refactoring.
- ColumnConditionPanel.state() no longer abstract.
- ComponentBuilder.listener() and consumer() added.
- FilterTable bug fixed, sorting, column reordering and resizing key events were enabled even though the functionality had been disabled.
- TableConditionPanel.focusEvent() added.
- FilterColumnConditionPanel now initialized lazily.
- FilterTableConditionPanel.focusGainedEvent() moved to ColumnConditionPanel, related refactoring.
- TableConditionPanel.state() now final, controls() implemented, related refactoring.
- DefaultFilterTableColumnModel.setVisibleColumns() bug fixed, now resets the selected column to zero after the columns have been configured.
- LookAndFeelSelectionDialogBuilder, FontSizeSelectionDialogBuilder, selection method consumer parameter added, no longer return the selected value.
is.codion.framework.domain
- DefaultDomain renamed DomainModel.
- Entity.valuesEqual() instance methods renamed equalValues(), static ones removed.
- Entity.Builder.withDefaultValues() renamed withDefaults().
- DomainModel.addAll() renamed add().
- AbstractQueriedKeyGenerator, IdentityKeyGenerator now remove any previous value from the entity before setting the key value, removing original value related memory churn.
- Entity.valuesAsString() removed.
- Entity.mapToValue(), mapToType() and mapKeysToType() renamed groupByValue(), groupByType() and groupKeysByType() respectively.
- DefaultEntity.createPrimaryKey() now creates a pseudo primary key, containing all column values, for entities without a defined primary key.
is.codion.framework.json.domain
- EntityObjectMapper.serializeEntities() and serializeKeys() removed.
- ColumnConditionSerializer bug fixed, did not deserialize case insensitive IN conditions correctly.
- EntityDeserializer, EntityKeyDeserializer, minor backwards incompatible changes reverted.
is.codion.framework.db.local
- DefaultLocalEntityConnection.report() exception handling improved, now throws DatabaseException in case of an SQLException.
- DefaultLocalEntityConnection exception handling refactored in order to guarantee rollbacks in case of RuntimeExceptions.
is.codion.framework.model
- EntityEditModel.editEvents() renamed postEditEvents, EntityTableModel.editEvents() renamed handleEditEvents().
- EntityEditEvents.notifyInserted(), notifyUpdated() and notifyDelete() renamed inserted(), updated() and deleted() respectively.
- EntityEditEvents, consumers now called listeners.
- EntityTableModel.HANDLE_EDIT_EVENTS configuration value added.
- EntityModel.activeDetailModels() renamed linkedDetailModels().
- EntitySearchConditionModel replaced with ForeignKeyConditionModel.
- EntityTableConditionModel type parameter removed, connectionProvider() added.
- DefaultEntityConditionModel.createConditionModels() bug fixed, did not respect Factory.include().
- EntityConditionModelFactory no longer excludes hidden attributes.
- AbstractForeignKeyConditionModel column identifier type now Attribute instead of ForeignKey.
- ForeignKeyConditionModel.builder() added, replacing static factory method, available operators now configurable.
- ForeignKeyConditionModel.condition() added, a shorthand for adding a condition to both the IN and EQUAL search/combobox models.
- EntityTableConditionModel.setEqualConditionValue() added.
- DefaultForeignKeyDetailModelLink now uses the EQUAL operator in case of a single value when setting the foreign key conditio...
0.17.43
Changes
is.codion.common.core
- Text.delimitedString() bug fixed, no header resulted caused a line break.
- Text.randomString() removed.
- Text.textFileContents() removed.
- Text.delimitedString() removed.
- NullOrEmpty removed, nullOrEmpty(String) moved to Text.
is.codion.common.rmi
- ConnectionRequest.clientVersion() now returns Optional.
is.codion.swing.common.model
- FilteredTableModel.refreshStrategy() added, replacing mergeOnRefresh().
- FilteredTableModel.rowsAsDelimitedString() replaced with export().
- TableSelectionModel.beforeSelectionChangeEvent() renamed selectionChangingEvent().
is.codion.swing.common.ui
- FilteredTable.copyRowsAsTabDelimitedString() replaced with copyToClipboard() and copySelectedToClipboard().
- Controls.empty() now ignores separators.
is.codion.framework.domain
- Entity.referencedEntity() and referencedKey() renamed entity() and key().
- Attribute.denormalized() added.
- DefaultEntity now caches derived values.
- EntityDefinition.STRICT_FOREIGN_KEY moved to Entities.
is.codion.swing.framework.model
- SwingEntityTableModel.replace() now triggers multiple targeted table row updated events, instead of one for all rows.
- SwingEntityTableModel.editEvents() removed, UpdateListener duplicated detail model link functionality by replacing foreign key values.
- SwingEntityTableModel.editEvents() reintroduced.
- DefaultForeignKeyDetailModelLink.onUpdate() now only replaces table model foreign keys if editEvents() are disabled.
is.codion.swing.framework.ui
- EntityTablePanel.TableControls.COPY_TABLE_DATA renamed COPY, COPY_CELL and COPY_ROWS added.
- EntityTablePanel.TableControls.COPY, EDIT_ATTRIBUTE, CONFIGURE_COLUMNS renamed COPY_CONTROLS, EDIT_ATTRIBUTE_CONTROLS and COLUMN_CONTROLS respectively, PRINT_CONTROLS, CONDITION_CONTROLS and FILTER_CONTROLS added.
- EntityTablePanel controls configuration refactored.
- EntityTablePanel.configurePopupMenu() and configureToolBar() added.
- EntityTablePanel bug fixed, Config.popupMenuEditAttributeControl() added.
- EntityTablePanel bug fixed, now excludes the edit attribute control from the toolbar if an editPanel is available.
- EntityEditPanel, EntityTablePanel.setupControls() renamed configureControls().
- MenuConfig renamed ControlConfig, create() renamed createControls(), now public.
- EntityTablePanel.PopupMenuConfig and ToolBarConfig added, related refactoring.
- EntityTablePanel, popup menu and toolbar configuration refactored, overriding no longer required.
- EntityTablePanel.PopupMenuConfig and ToolBarConfig now protected.
0.17.42
Changes
is.codion.common.core
- Values added, extended by ValueSet, related refactoring.
- ValueList added.
- Values now behaves like Collection in regards to remove() and removeAll(), related refactoring and javadoc fixes.
- Values.set(Collection) now returns true if the value changed.
is.codion.common.rmi
- WhitelistObjectInputFilterFactory renamed WhitelistInputFilterFactory.
is.codion.framework.domain
- DefaultEntity refactored.
- TypeReference now throws exception if used to specify a non-parameterized type.
- DefaultDomain.add() now varargs based, related refactoring.
- Derived attributes no longer require source attributes.
is.codion.framework.db.core
- EntityConnection.Insert renamed BatchInsert, Copy.Builder.conditions() added.
- EntityConnection.insertEntities() and copyEntities() renamed batchInsert() and batchCopy() respectively.
- EntityConnection.Copy renamed BatchCopy.
is.codion.swing.common.ui
- ListBuilder migrated from using ValueSet to ValueList.
- AbstractComponentBuilder now supports multiple linked values.
- KeyEvents bug fixed, no longer uses the action name as action map key, always generates a unique one.
is.codion.swing.framework.ui
- EntityDialogs.DefaultEditAttributeDialogBuilder bug fixed, didn't take null into account when counting distinct values.
- EntityTablePanel, TableControl.EDIT_SELECTED renamed EDIT_VALUE and now associated with an action for editing the selected items.
- EntityTablePanel.Config.editAttributeSelection() and includeEditValueControl() added.
- EntityTablePanel.TableControl.DELETE_SELECTED renamed DELETE, related renaming.
- EntityTablePanel, edit value control added to toolbar.
- EntityTablePanel, TableControl.EDIT_VALUE renamed EDIT_ATTRIBUTE, EDIT_SELECTED_ATTRIBUTE added, related renaming.
- EntityEditPanel.Config.keyStrokes() added.
0.17.41
Changes
is.codion.common.core
- Value.clear() added, PropertyValue.clear() renamed remove() in order to not clash with method from supertype.
- Value.Builder, methods for adding listeners and consumers added.
- ValueSet.Builder, methods for adding listeners and consumers added.
- State.Builder added.
- ValueObserver.nullable() renamed isNullable(), now consistent with other method names.
- Value.nullable() factory method overloaded with no parameter.
is.codion.common.rmi
- ObjectInputFilterFactory added, configured for ServiceLoader for pluggable object input filters, related refactoring.
is.codion.framework.domain
- OrderBy.Builder, NullOrder now parameter.
- OrderBy.OrderByColumn.ignoreCase() added.
is.codion.swing.common.model
- ProgressWorker.Task and ProgressTask renamed ResultTask and ProgressResultTask respectively.
- ProgressWorker refactored, no longer wraps ResultTask in a ProgressResultTask.
is.codion.swing.common.ui
- InputDialogBuilder.inputValid() and inputValidator() renamed valid() and validator() respectively.
- DefaultProgressWorkerDialogBuilder refactored.
is.codion.swing.framework.ui
- EntitySearchFieldPanel.Builder.includeAddButton() and includeEditButton() bug fixed, exception now thrown as per javadoc.
- EntityEditPanel.Config.editPanel() added.
is.codion.swing.framework.server.monitor
- ConnectionPoolMonitor, pool cleanup interval now milliseconds based.
0.17.40
Changes
is.codion.common.core
- EventObserver.addDataListener() renamed addConsumer(), related renaming.
- Value.Builder added, replaces a couple of static factory methods.
- Value.Builder.link() added.
- ValueSet.Builder added, replaces a couple of static factory methods.
is.codion.framework.domain
- QueryKeyGenerator, SequenceKeyGenerator, now overwrite a current value instead of silently skipping it.
- AbstractQueriedKeyGenerator.selectAndPopulate() primary key column definition parameter removed.
is.codion.swing.common.ui
- ListBuilder overhaul, ListBuilder.Factory added, provides list builders depending on whether the value should be represented by the list items or selected item(s).
- ComponentBuilder.linkedValue() renamed link().
is.codion.swing.fraework.ui
- EntitySearchField.searchControl() added.
- EntitySearchFieldPanel, search button added.
- EntityPanel, EntityEditPanel, EntityTablePanel.Config now provides access the the panel being configured.
- EntityEditPanel.Confirmer.NONE added.
- EntityComboBoxPanel, EntitySearchFieldPanel.Builder.add() and edit() renamed addButton() and editButton().
- EntityComboBox.Builder added.
- EntityComboBox, EntitySearchField, add and edit actions moved from respective panel classes, Builder.editPanelSupplier() added.
- EntityComboBoxPanel, EntitySearchFieldPanel.Builder.addButton() and editButton() renamed includeAddButton() and includeEditButton().
0.17.39
Changes
is.codion.common.core
- Version.metadata() now returns Optional.
- Version.build() added, parsing no longer supports space as metadata delimiter.
- Version, static factory methods replaced with a builder.
- Version.parsePropertiesFile() renamed parse().
- Configuration.ConfigurationFileNotFoundException now thrown instead of RuntimeException when a required configuration file is not found.
is.codion.common.db
- DatabaseConnection.beginTransaction() renamed startTransaction().
is.codion.framework.domain
- TypeReference added.
- Attribute.attribute(), Column.column(), EntityType.attribute() and column() overloaded with TypeReference.
is.codion.framework.domain
- Column.Converter.handlesNull() added, default implementation returns false.
- DefaultColumnDefinition.get() now only uses the Converter to convert null values in case it handles null.
- DefaultColumn.BooleanConverter now throws exception if it comes across an unrecognized value.
is.codion.framework.domain.test
- EntityTestUnit.testInsert() now asserts all inserted values.
is.codion.framework.db.core
- EntityConnection.beginTransaction() renamed startTransaction().
is.codion.framework.db.local
- DefaultLocalEntityConnection.setParameterValue() now only uses the Converter to convert null values in case it handles null.
is.codion.swing.common.model
- DefaultFilteredTableColumnModel.setVisibleColumns() bug fixed, now throws IllegalArgumentException in case a column is not found, instead of NullPointerException.
is.codion.swing.common.ui
- KeyboardShortcuts.Shortcut added, with defaultKeystroke(), keystroke enums must implement it.
is.codion.swing.framework.ui
- EntityTablePanel, mnemonic removed from deleteSelected control.