I'm glad to announce that AppGini 5.73 will be released on Tuesday February 5. This is mainly a maintenance release but we did add some minor new features. All users already running AppGini 5.70 or higher are eligible for free upgrade. For users of older versions, you can buy a discounted upgrade for 50% off full price that will provide you with 1 year of free upgrades.
Following is a list of changes in this release:
- Added 'Generate Application' option when right-clicking an AXP file in Windows Explorer to generate the app without opening AppGini (AppGini Pro only).
- Added support for new command-line parameter --output, followed by output folder to specify the desired output folder -- this is useful for automating app creation in batch files for examples.
- Hardened remember-me cookie to use dynamic tokens and prevent session theft.
- Hardened stored password hashes* to comply with best practices for storing user credentials. (*see note at the end of this message)
- Improved performance of records count in homepage.
- Auto-complete now works in all drop-downs if they contain 5 items or more.
- Admin area: added a 'Server status' page, useful for diagnosing server/database issues. Can be activated by checking the option "Allow admin access to server status page" in AppGini.
- Hide 'Previous' button in first page of table view, and 'Next' button in last page.
- Added new JS function, AppGini.filterURIComponents() for building the URL parameters for a filter.
- Added normalize_path() function to convert Windows paths to Unix style.
- Replaced obsolete Twitter feed widget with current Twitter-recommended one for improved loading speed of admin homepage.
- Fixed: When a query error occurs in sql() function, header and footer are included if not already to avoid blank pages on errors.
- Rebuild fields: explicitly mention field status of NULL or NOT NULL for a more accurate field comparison.
- Bug fixes in db diff algorithm in the Rebuild fields page.
- Fixed: When a user with no access to any tables signs in, he can't get past the login form.
- Correctly setting encoding headers in all pages.
- Fixed: Renaming project, tables and fields doesn't trigger 'changes not saved' flag in AppGini.
- Updated insert() function to prevent exit on error and return false and error message instead.
- Updated doxygen documentation for update() function
- Fixed starting and ending slashes in uri in application_url()
- Fixed application_url() function when called from subfolders other than hooks.
- Fixed bug with loading custom DV template if detail print view is disabled.
- Fixed spacing in lookup data type warning message
- Bug fix causing AppGini to lock if user tries to configure media options for a lookup or option list field.
- Bug fix: identify seemingly-duplicate child tabs for the same child table that has multiple lookup fields to the same parent table. Identification is done by adding the caption of the parent lookup field as part of the tab title. Also, the correct lookup field is populated when clicking 'Add new' in a child tab.
- Auto-loading of classes defined in resources/lib folder
- Added test(), invoke_method() and invoke_static_method() to admin/incFunctions.php
- Fixed quick-search highlighting for non-standard bootstrap themes.
- Refactoring setupMembership() to make it easier to add fields/tables to membership schema
- Safeguarding restore process of db backups and support for empty passwords
- Including 'links-navmenu.php' at the end of lib.php to make sure sessions are initialized correctly
- Fixed the format of time auto-fill lookups.
- removed jscookie lib as it's no longer used by AppGini.
- Using localStorage instead of jscookie lib, fixing cookie length errors.
- Decreased min column width to 6px.
- Added ability to specify a locale for datetimepicker in language.php file.
- Fixed a bug where user logged as super admin then re-logged as normal admin was still being seen as super admin in some cases
AppGini 5.73 introduces a new, more secure method of storing password hashes for users. This method works only on PHP 5.5 and higher. Your apps would still work on older versions of PHP, but in this case password hashes will continue to use the same less secure method used before.
When upgrading your app to AppGini 5.73, existing password hashes will be upgraded to the new algorithm if PHP 5.5 or higher found. So, if you decide to downgrade to older versions of AppGini, user logins won't work.
For this reason, we highly recommend that you create a database backup first before upgrading any existing app. You can do this easily from the Admin Area > Utilties menu > Database backups. If you decide to downgrade later, you should then restore the membership_users table from that backup.