RELEASE 676
NEW: S3: new sort values "changed", "$modified", "$modified-" to sort by modification date |
CHG: S3: searchLocal caches now store alphabetically sorted lists, other sort orders are implemented in java internal routines - better cache hit ration, smaller cache, less disk I/O operations |
CHG: S3: no searchLocal requests will be attempted to cache, to local storage or to database if corresponding folder is known to be empty |
CHG: S3: searchLocalCalendarStats now use searchLocal cache and database query (allows to share same data as following searchLocal executions) |
CHG: S3: searchLocalAlphabetStats now use searchLocal cache and database query (allows to share same data as following searchLocalAlphabet executions) |
CHG: s3: searchLocalAlphabet stats now runs in separate task runner |
CHG: S3: searchLocalAlphabet now use searchLocal cache and database query when java filter implementation is not enough (was special query and dedicated cache) |
CHG: S3: searchLocalAlphabet now supports java sort implementations offloading extra queries from database |
CHG: S3: optimized searchLocalJava implementation, faster results for limited queries without complex search filter |
FIX: UMAN: "forgot password" doesn't restore password - should change both high and normal passwords |
CHG: TPL: simplified compile-time exception handling to produce shorter and clearer error messages |
CHG: s3: searchLocal, getChildren, getFiles order now won't depend on entry type - order should be specified in request or "history" will be used |
CHG: s3: TreeData - name to guid mapping now will be lazily initialized outside load-lock improving concurrent load times at least |
CHG: S3: TreeData - some optimizations to java internal tree filter |
FIX: TYPES: cache\static method returns null on calculation |
FIX: CACHE: potential garbage-collector related race condition may cause to return null when this result is not expected - when cache entry is garbage collected between moment when this entry was found and when actual value is returned |
CHG: CACHE: added access timeout checks for root leafs of CacheL3 caches |
CHG: CACHE: added garbage collector queue checks for CacheL1 caches |
FIX: CACHE: group removals in CacheL2 widely used was not working right |
CHG: CACHE: small strings (less than 128 characters) and small byte arrays (less than 128 bytes) are now cached by instance without soft-references) |
CHG: CACHE: small strings (less than 128 characters) and small byte arrays (less than 128 bytes) are now cached by instance without soft-references) |
CHG: EVAL: new compilation pattern - affects scripts embedded into TPL CODE tag primarily |
CHG: XML: xml materialization won't throw errors when compilation error occurs in embedded script - this error will be logged and embedded instead of script into result map |
CHG: TPL: SET tag - implemented on base command set - no special instruction |
CHG: TPL: INCLUDE tag - implemented on base command set - no special instruction |
CHG: TPL: CODE tag embeds script right in TPL code, so return and other control statements will work! |
CHG: TPL: CODE tag now will search till <%/CODE - so you can embed languages having syntax that will cause TPL syntax errors easily |
FIX: TPL: not closed tag on end of script will throw an error now! (was silent) |
NEW: CTRL: now you can share non-root objects for control interface |
CHG: CTRL: doc version of user guide removed - pdf should be enough |
CHG: UMAN: new caching system for user groups |
CHG: UMAN: user groups are loaded in special thread - task runner |
CHG: UMAN: groups are loaded in special thread - task runner |
CHG: UMAN: user profiles are loaded in special thread - task runner |
CHG: UMAN: new caching system for user profiles with false-cache and non-locking cache lookups |
CHG: UMAN: system won't try to load groups for never-commited user - such user cannot be in any group but def.guest |
FIX: UMAN: maintetance never has a chance to discard more than 16 group to user mappings at once due to ConcurrentModificationException |
CHG: EVAL: Create.list().size > 0 should compare function result? |
***: S3: DATABASE: s3ChangeQueue.evtCmdDate - allow NULLs or add default value for field! |
CHG: XML: contentless string class element with non-empty type will return empty string (was null) |
CHG: DLS: no use for d1ChangeLog table anymore - table will be removed in 677 release |
NEW: UMAN: delayed user profile access date update (for active profiles to remain alive) only when older than 6 hours to minimize performance impact |
CHG: EVAL: Default scope cleanup - some obsolete methods removed |
NEW: UMAN: User.chackPassword( password ) method |
CHG: UMAN: new check password routine implementation, no separate query |