## 4.1 (2021-01-22) ##### Implemented enhancements: - Unobvious behavior of calendar control in web-client [#522](https://github.com/lsfusion/platform/issues/522) ##### Fixed bugs: - PGSQLException "Zero bytes may not occur in string parameters" on IMPORT JSON [#542](https://github.com/lsfusion/platform/issues/542) - Bug in the map view: the editing / dragging option is reset when adding markers to clusters [#539](https://github.com/lsfusion/platform/issues/539) - Bug in client exception logging [#540](https://github.com/lsfusion/platform/issues/540) - Incorrect grid selection colors after color theme change [#538](https://github.com/lsfusion/platform/issues/538) - Bug in NONULL DELETE when parameter is of an abstract class [#537](https://github.com/lsfusion/platform/issues/537) - Bug with the login page localization [#535](https://github.com/lsfusion/platform/issues/535) - Incorrect date-time patterns [#528](https://github.com/lsfusion/platform/issues/528) - Bug with cluster colors in map view [#533](https://github.com/lsfusion/platform/issues/533) - bug in calendar view: the background color is updated incorrectly [#531](https://github.com/lsfusion/platform/issues/531) - Incorrect apiVersion check [#530](https://github.com/lsfusion/platform/issues/530) - Bug in parsing literal expression in property object [#524](https://github.com/lsfusion/platform/issues/524) - Enormous year in calendar control leads to a fatal error in web-client [#521](https://github.com/lsfusion/platform/issues/521) - Incorrect paste from excel to filter [#520](https://github.com/lsfusion/platform/issues/520) ## ----- PREVIOUS RELEASES -------- ## 4.0 (2020-12-23) ##### Implemented major enhancements: - Extended list view support (i.e. pivot, map, diagram) [#70](https://github.com/lsfusion/platform/issues/70) ##### Implemented enhancements: - Support LIST clause for ATTACH and SUBJECT clauses in EMAIL operator [#326](https://github.com/lsfusion/platform/issues/326) - Implement ROUND as an operator (not system property) [#376](https://github.com/lsfusion/platform/issues/376) - Fix the absence of localization in swing text strings [#43](https://github.com/lsfusion/platform/issues/43) - Support of FOOTERS clause in interactive form view in web-client [#473](https://github.com/lsfusion/platform/issues/473) - Support of \n in property headers [#472](https://github.com/lsfusion/platform/issues/472) - Make libraries to be downloaded directly from the web-client when internet is unavailable [#267](https://github.com/lsfusion/platform/issues/267) - Calendar view support [#240](https://github.com/lsfusion/platform/issues/240) - Support username and password parameters authentication in UI url [#462](https://github.com/lsfusion/platform/issues/462) - Custom javascript list view support [#195](https://github.com/lsfusion/platform/issues/195) - Implement reversed internationalization [#247](https://github.com/lsfusion/platform/issues/247) - Implement support of edit object on double click and in "link mode" [#420](https://github.com/lsfusion/platform/issues/420) - Implement WAIT / NOWAIT options for EMAIL operator [#424](https://github.com/lsfusion/platform/issues/424) - Allow action images to be dynamic (calculated and not set with literal) [#418](https://github.com/lsfusion/platform/issues/418) - Add "register" and "forget password" functionality to login form [#279](https://github.com/lsfusion/platform/issues/279) - Timeout for EXTERNAL HTTP [#415](https://github.com/lsfusion/platform/issues/415) - Implement printServerFile in Printer.lsf [#409](https://github.com/lsfusion/platform/issues/409) - Support PROPERTIES clause for CONSTRAINT operator [#311](https://github.com/lsfusion/platform/issues/311) - Pivot table: support column ordering not only by totals [#261](https://github.com/lsfusion/platform/issues/261) - Implement MAXIMIZE / NORMALIZE button in web client [#393](https://github.com/lsfusion/platform/issues/393) - Pivot table: internationalization [#256](https://github.com/lsfusion/platform/issues/256) - Pivot table: show when maximum number of read rows is exceeded [#262](https://github.com/lsfusion/platform/issues/262) - Pivot table: support leap header [#288](https://github.com/lsfusion/platform/issues/288) - Pivot table: support form properties width [#286](https://github.com/lsfusion/platform/issues/286) - Pivot table: add virtual property "quantity" to all lists [#260](https://github.com/lsfusion/platform/issues/260) - WRITE APPEND to txt file [#384](https://github.com/lsfusion/platform/issues/384) - Show empty red underlined string instead of 'Required' [#377](https://github.com/lsfusion/platform/issues/377) - Make it possible to use files (not pathes) in REPORT / REPORTFILES clauses [#378](https://github.com/lsfusion/platform/issues/378) - Support TITLE property view [#241](https://github.com/lsfusion/platform/issues/241) - Pivot table: support dblclk event handler [#361](https://github.com/lsfusion/platform/issues/361) - Pivot table: support property draws formatter [#254](https://github.com/lsfusion/platform/issues/254) - Make it possible to disable "not defined" string in interactive form view [#345](https://github.com/lsfusion/platform/issues/345) - Implement forceShutdown for a connection (user) [#338](https://github.com/lsfusion/platform/issues/338) - Implement DATETIME with timezone type [#342](https://github.com/lsfusion/platform/issues/342) - Adjust web themes to flatlaf style [#364](https://github.com/lsfusion/platform/issues/364) - Pivot table: make "expand" column a separate column [#363](https://github.com/lsfusion/platform/issues/363) - Support and make default FlatLaf look & feel in desktop client [#337](https://github.com/lsfusion/platform/issues/337) - Implement polygon support on map [#360](https://github.com/lsfusion/platform/issues/360) - Implement change support in map table view [#359](https://github.com/lsfusion/platform/issues/359) - Pivoting: make groups stack one under each other instead of stacking from left to right [#224](https://github.com/lsfusion/platform/issues/224) - Pivoting: support enabling / disabling subtotals for specific columns in table renderer [#223](https://github.com/lsfusion/platform/issues/223) - Need action to generate UUID [#356](https://github.com/lsfusion/platform/issues/356) - Pivot table: support row height [#351](https://github.com/lsfusion/platform/issues/351) - Implement grouping markers with the same attributes on the map [#350](https://github.com/lsfusion/platform/issues/350) - Pivot table: support form properties column order [#258](https://github.com/lsfusion/platform/issues/258) - Pivot table: support property draws formatter [#254](https://github.com/lsfusion/platform/issues/254) - Support WHERE clause in IMPORT operator for all plain formats (not only DBF) [#329](https://github.com/lsfusion/platform/issues/329) - Support FILTERS clause in form operators (SHOW, DIALOG, EXPORT, PRINT) [#229](https://github.com/lsfusion/platform/issues/229) - Add line support in map view [#321](https://github.com/lsfusion/platform/issues/321) - Support vertical containers for group-to-columns properties [#319](https://github.com/lsfusion/platform/issues/319) - Implement materialized properties recalculation for specific objects [#154](https://github.com/lsfusion/platform/issues/154) - Pivoting: support enabling / disabling subtotals for specific columns in pivot settings UI [#225](https://github.com/lsfusion/platform/issues/225) - Support custom alignment for properties [#268](https://github.com/lsfusion/platform/issues/268) - Extend smartParse cases for numeric / date types [#269](https://github.com/lsfusion/platform/issues/269) - Show message for "Request Log" if user hasn't active connections [#304](https://github.com/lsfusion/platform/issues/304) - Show the location where parsing error occured during importing data [#295](https://github.com/lsfusion/platform/issues/295) - Change property policy form / logics to a single column [#242](https://github.com/lsfusion/platform/issues/242) - Map view support [#194](https://github.com/lsfusion/platform/issues/194) - Inline group change action [#33](https://github.com/lsfusion/platform/issues/33) - Implement NUMERIC type (without size) [#245](https://github.com/lsfusion/platform/issues/245) - "Opening forms" have redundant functionality [#215](https://github.com/lsfusion/platform/issues/215) - Confirm refresh/closing tab with web-client in browser [#208](https://github.com/lsfusion/platform/issues/208) - Implement manual list view update / refresh [#196](https://github.com/lsfusion/platform/issues/196) - Pivot list view support [#193](https://github.com/lsfusion/platform/issues/193) ##### Fixed bugs: - Low performance when there is a very complex filter / order with a lot of prereads / materialized changes [#430](https://github.com/lsfusion/platform/issues/430) - Component should be not focusable when there is assigned CHANGEKEY [#325](https://github.com/lsfusion/platform/issues/325) - Bug when client exception is raised during dispatching response [#410](https://github.com/lsfusion/platform/issues/410) - Unable to send email if address contains apostrophe [#375](https://github.com/lsfusion/platform/issues/375) - Subtotal table: error in axis collapsing [#373](https://github.com/lsfusion/platform/issues/373) - Subtotal table: error in column attribute headers [#372](https://github.com/lsfusion/platform/issues/372) - Incorrect time in web-client after changing timezone [#343](https://github.com/lsfusion/platform/issues/343) - Make pagesize for groups without properties (usually group-to-columns) 0 by default [#366](https://github.com/lsfusion/platform/issues/366) - BACKGROUND doesn't work for actions [#270](https://github.com/lsfusion/platform/issues/270) - lsfusion.base.Words.toString without type shouldn't add extra space in the end [#336](https://github.com/lsfusion/platform/issues/336) - Client messages are not saved in / pushed to the caller thread when using NEWTHREAD [#168](https://github.com/lsfusion/platform/issues/168) - Server doesn't start in debug (Linux Mint, OpenJDK11) [#328](https://github.com/lsfusion/platform/issues/328) - Escape symbols in constraint message [#322](https://github.com/lsfusion/platform/issues/322) - RECALCULATE doesn't work when context parameter is used not in WHERE clause [#287](https://github.com/lsfusion/platform/issues/287) - Bug with UnsupportedOperation when p IS DATE is not removed during query compilation [#314](https://github.com/lsfusion/platform/issues/314) - Check correct connection status update in all scenarios [#296](https://github.com/lsfusion/platform/issues/296) - NPE / Incorrect operation when using CHECKED BY and there is GROUP BY inside [#310](https://github.com/lsfusion/platform/issues/310) - MESSAGE option in CONSTRAINT doesn't work right with PREV / CHANGED operators [#309](https://github.com/lsfusion/platform/issues/309) - Low performance when using IMPORT FIELDS and there are a lot of fields [#306](https://github.com/lsfusion/platform/issues/306) - When there is an exception during login there is no redirect to login page [#298](https://github.com/lsfusion/platform/issues/298) - Cast to NUMERIC doesn't work [#302](https://github.com/lsfusion/platform/issues/302) - Redirect after authentication looses query in http request [#273](https://github.com/lsfusion/platform/issues/273) - Bad performance when join that needs predicate push down is in a union join [#231](https://github.com/lsfusion/platform/issues/231) - Wrong context menu popup position in web-client [#228](https://github.com/lsfusion/platform/issues/228) - NPE after disabling hints in isReallyChanged [#227](https://github.com/lsfusion/platform/issues/227) - RECALCULATE operator with WHERE isn't working properly [#226](https://github.com/lsfusion/platform/issues/226) - Bug with too many threads on group change [#222](https://github.com/lsfusion/platform/issues/222) - OK should be shown only when form manages session or in dialog mode [#200](https://github.com/lsfusion/platform/issues/200) - Unable to shutdown specific connection [#221](https://github.com/lsfusion/platform/issues/221) - Exception in IMPORT XLS [#207](https://github.com/lsfusion/platform/issues/207) ## 3.0 (2020-01-16) ##### Implemented enhancements: - Create an action for finding forms by name [#203](https://github.com/lsfusion/platform/issues/203) - Form loses focus [#191](https://github.com/lsfusion/platform/issues/191) - Downloads during installation issue [#190](https://github.com/lsfusion/platform/issues/190) - Pass BACKGROUND/FOREGROUND values of form property to the reports [#188](https://github.com/lsfusion/platform/issues/188) - Conditional pattern for MS Excel in autogenerated reports [#187](https://github.com/lsfusion/platform/issues/187) - Implement CHANGEMOUSE event and extra options of input events [#185](https://github.com/lsfusion/platform/issues/185) - Sorting on a form does not work [#156](https://github.com/lsfusion/platform/issues/156) - Wrong placement of controls on form in panel [#183](https://github.com/lsfusion/platform/issues/183) - The controls' order in panel differs from the order of declaration [#181](https://github.com/lsfusion/platform/issues/181) - Build clients on OpenJDK 8 and higher [#182](https://github.com/lsfusion/platform/issues/182) - Implement auto WAIT / NOWAIT options for SHOW / DIALOG operators [#180](https://github.com/lsfusion/platform/issues/180) - Implement mouse events bindings for actions [#179](https://github.com/lsfusion/platform/issues/179) - Send messages via Slack [#177](https://github.com/lsfusion/platform/issues/177) - Send messages via Skype [#175](https://github.com/lsfusion/platform/issues/175) - NPE instead of semantic error [#176](https://github.com/lsfusion/platform/issues/176) - Send messages via Viber [#174](https://github.com/lsfusion/platform/issues/174) - Send messages via Telegram [#173](https://github.com/lsfusion/platform/issues/173) - EXPAND action operator for trees [#63](https://github.com/lsfusion/platform/issues/63) - Wrong initial edit value in INPUT [#171](https://github.com/lsfusion/platform/issues/171) - Add Schedule module for working with schedules [#170](https://github.com/lsfusion/platform/issues/170) - Empty static object's caption leads to NullPointerException [#167](https://github.com/lsfusion/platform/issues/167) - Need action for resizing image to specific width and height [#166](https://github.com/lsfusion/platform/issues/166) - Need currentDateTime as Data Property [#165](https://github.com/lsfusion/platform/issues/165) - Unnecessary dependencies in Recalculate aggregations (+dependents) [#159](https://github.com/lsfusion/platform/issues/159) - RECALCULATE action in LSF [#162](https://github.com/lsfusion/platform/issues/162) - Action to print pdf file [#155](https://github.com/lsfusion/platform/issues/155) - Make multi-thread backup [#151](https://github.com/lsfusion/platform/issues/151) - Unable to copy text from confirm message in desktop-client [#147](https://github.com/lsfusion/platform/issues/147) - Change font size for a particalur user in desktop client [#123](https://github.com/lsfusion/platform/issues/123) - Setting rowHeight in rows (not in pixels) [#18](https://github.com/lsfusion/platform/issues/18) - In debug mode reconnect client automatically after server is restarted [#20](https://github.com/lsfusion/platform/issues/20) - Add password generation functionality [#108](https://github.com/lsfusion/platform/issues/108) - Add BEFORE / AFTER option for trees [#97](https://github.com/lsfusion/platform/issues/97) - Add module name to the error message [#92](https://github.com/lsfusion/platform/issues/92) - Add semantic error for session (PREV, CHANGED, SET, ...) operators [#88](https://github.com/lsfusion/platform/issues/88) ##### Fixed bugs: - Path to image for navigator element is not relative to 'images' folder [#211](https://github.com/lsfusion/platform/issues/211) - New form's tab is inaccessible when tab panel is full of tabs [#210](https://github.com/lsfusion/platform/issues/210) - Bug with using returned (to cache) table when using FILTER operator [#206](https://github.com/lsfusion/platform/issues/206) - Wrong numeric type is inferred when multiplying INTEGER and NUMERIC [#204](https://github.com/lsfusion/platform/issues/204) - Form doesn't receive any focus on opening in desktop client [#205](https://github.com/lsfusion/platform/issues/205) - PSQLException on IMPORT if value read from dbf-file contains 0x00 [#202](https://github.com/lsfusion/platform/issues/202) - SQL exception when LAST is used with two always NULL unions [#201](https://github.com/lsfusion/platform/issues/201) - NPE when changing filter makes tree empty [#199](https://github.com/lsfusion/platform/issues/199) - SHOW READONLY does not work for properties / actions showing (only for changing) [#198](https://github.com/lsfusion/platform/issues/198) - EXTERNAL HTTP request failes when response is empty (204) [#197](https://github.com/lsfusion/platform/issues/197) - Incorrect concat of string and numeric [#186](https://github.com/lsfusion/platform/issues/186) - Bug with GROUP LAST when there is new parameter in ORDER [#178](https://github.com/lsfusion/platform/issues/178) - Tree elements in new object dialog are not localized [#172](https://github.com/lsfusion/platform/issues/172) - fileExists doesn't work with ftp directories [#164](https://github.com/lsfusion/platform/issues/164) - formClose doesn't work in NEWSESSION [#163](https://github.com/lsfusion/platform/issues/163) - Bug with NaN double in renderer [#161](https://github.com/lsfusion/platform/issues/161) - BREAK and RETURN don't work in TRY-CATCH [#152](https://github.com/lsfusion/platform/issues/152) - Incorrect import of boolean field from xlsx [#150](https://github.com/lsfusion/platform/issues/150) - Unable to send mail with empty text [#149](https://github.com/lsfusion/platform/issues/149) - Unable to copy text from message box in web-client [#146](https://github.com/lsfusion/platform/issues/146) - Export to XML should respect the order of properties and groups on the form [#145](https://github.com/lsfusion/platform/issues/145)