AppGini change log

AppGini 5.95, Mar 29, 2021

UI/UX enhancements

  • Remove empty images from DVP
  • Align sum cells the same as their corresponding data cells.
  • Fix tooltip appearance in admin/pageRebuildFields
  • Fix and improve UX for inserting joins in query helper window
  • Better handling of DV loader (no compile time vars, show only if there is a non-native focus field, don't show in TVDV unless a record is selected, hide once focus field is ready instead of waiting unnecessarily for > 1 sec.)
  • Focus form field in TVDV if a record is selected.
  • don't focus DV on load if in same page as TV.
  • Improve appearance of file overwrite window.
  • Show insert button for lookups in embedded mode.
  • Fix nicEdit (rich HTML area) height

Bug fixes

  • Ignore not null for auto_increment fields when comparing in admin/pageRebuildFields.php
  • Correctly escape default values containing slashes.
  • Fix PHP8 error on filtering lookup fields.
  • Fix issue with autofocusing radio lookup fields.
  • Fix nl2br issue in textareas.
  • Preserve background highlight color applied by nicedit.
  • Fix sorting bug in admin/pageViewRecords.php
  • Fix Filters + $options->QueryWhere = causes SQL syntax error
  • Fix localStorage clearing issue that leads to disabling enabled shortcut keys

Security fixes

  • Filter data when exporting to CSV to prevent CSV injection in Excel.
  • Sanitize group description in groups list page

Programmatic improvements/changes

Server-side

  • The $mail param of sendmail() can optionally include tag key to pass any desired value to sendmail_handler() hook. Example:
    sendmail([
    	   'to' => '..',
    	   'subject' => '...',
    	   'tag' => 'abc'
    	])`
    	
    Provided tag would be accessible in sendmail_handler() hook as $pm->tag.
  • Add support for CC and BCC. Also, allow multiple recipients in TO field. Usage:
    sendmail([
    	   'subject' => 'Test subject',
    	   'message' => 'Email message',
    	   'to' => [
    	      /* [email, name] */
    	      ['[email protected]', 'Recipient1'],
    	      ['[email protected]', 'Recipient2']
    	   ],
    	   'cc' => [
    	      ['[email protected]', 'CC1'],
    	      ['[email protected]', 'CC2']
    	   ],
    	   'bcc' => [
    	      ['[email protected]', 'BCC1'],
    	      ['[email protected]', 'BCC2']
    	   ]
    	]);
    	
  • Add assocArrFilter($arr, $func) PHP function -- filters provided array using provided callback function. The callback receives 2 params ($key, $value) and should return a boolean.
  • Add bgStyleToClass() PHP function for converting background-color style attribute applied by nicedit into a class to prevent potential XSS injection.
  • safe_html() applies bgStyleToClass() before xss cleanup.

Client-side

  • Add .sum CSS class to sum row and each sum cell in TV.
  • Add new param doActionOnTimeout to AppGini.once() js function. If set to true, execute action on timeout.
  • Add AppGini.applyNiceditBgColors() js function for applying background highlight color to elements having nicedit-bg CSS class.
  • Add optional timeout config param to AppGini.once() to abort checking condition after specified msec.
  • Add AppGini.unixTimestamp() js function to retrieve current unix timestamp in sec, msec.
  • Include .container-fluid in common.js styling whenever a rule's selector is .container
  • Include .container-fluid in dynamic.css styling whenever a rule's selector is .container

AppGini 5.94, Jan 21, 2021

  • Fix 'no direct access allowed' in CSV import page.

AppGini 5.93, Jan 20, 2021

New features

  • Add new table property Default focus field to allow control over which field (if any) has focus by default when the detail view form is loaded (Previous behavior was to always auto-focus the first editable field).
  • Implement instant search in admin settings page to quickly find a setting by label.
  • Move the setting of the file upload path to the admin settings page, making it more convenient to change.

UI/UX enhancements

  • Add button for clearing date fields in detail view.
  • Usability and layout fixes to admin/pageSettings.php
  • Add some space between plugin icon and name in plugins menu
  • admin/pageTransferOwnership.php: prevent moving super admin user to non-admin group, or any user to anonymous group
  • Move server-side code from common.js.php to header.php, and rename as common.js for better performance through native server/browser caching.
  • Remove misleading help mouse pointer from title bars of table props section.
  • trim option list separators from start and end of options list to prevent unintended empty options.
  • Add autocomplete="new-password" for new password fields in app pages to prevent browser auto-completion (this prevents pre-filling passwords, but not password suggestions).
  • Add checks during setup for PHP extensions: xml and mbstring, and a more descriptive error message if images folder is misconfigured.
  • Fix bottom margin of field description in detail view.
  • Adjust glyphicon size for download links using new CSS class .glyphicon-lg
  • Adjust icon links alignment/margins in detail view for a more consistent UI.
  • Rename dynamic.css.php to dynamic.css for speedier processing and better loading performance.
  • Center alert text in admin/pageEditMember.php.
  • Don't show link to pageRebuildThumbnails.php in admin Utilties menu if app has no thumbnail fields.
  • admin/pageSettings.php can initiate a search through the URL GET parameter search-settings to allow direct linking to a specific setting from other admin pages.
  • Proper autofocus for date fields.
  • Fix layout of web link input field in detail view.
  • You can now navigate between the project browser, the search box and the properties pane in AppGini using either F6 or F4 shortcut keys.
  • Project inspector (F12) now displays field and table names on the main field/table nodes for easier/quicker access.
  • UX enhancements when user clicks the label for date, link, YouTube and google map fields.
  • If user specifies that a link field displays the contents of another field, they must specify the other field.
  • More descriptive message for field changes warning when closing AppGini without regenerating app.
  • Show warning message when trying to import a table from a CSV file while no project is open.
  • admin/pageViewRecords.php: support for {none} member, indicating ownership records having no member.

Bug fixes

  • Fix technical documentation preview issue.
  • Fix modal height bug on iOS.
  • Fix bug in YouTube thumbnail URL.
  • bug fix in refactored datalist.php.
  • Fix bug in combo class.
  • Quick search: fix highlight behavior when no matches are found.
  • Fix js bug in admin/pageViewMembers.php that prevents confirmation dialog when deleting a user.
  • Admin homepage: indicate and correctly handle ownership records with empty username.
  • Fix bug in Save changes button locking behavior during ajax requests.
  • Fix YouTube videos error due to YouTube API change.
  • Properly close <form> and grid in filters page.
  • Avoid invalid HTML in file upload fields.
  • If field is configured as a lookup and image simultaneously, remove image config and prioritize lookup config to consist with UI and fix generated code js error.
  • Fix PDF files not displaying in modals.
  • Handle error when homepage panel height is set to invalid value.
  • Fix: separator between parent caption fields appears twice in lookups if parent caption field is itself a lookup field.

Security fixes

  • Update CI_Input to prevent recently revealed XSS vulnerabilities, CVE-2021-21260.
  • Move the setting of Google Maps API key to the admin settings page (storing it in config.php) to prevent hard-coding the API key into generated code, making it safer to distribute your app to third parties.
  • Prevent potential minor reflected XSS vulnerability in CSVImportUI.php.

Programmatic improvements

Server-side

  • Use getLoggedAdmin() whenever checking for admin access rather than getMemberInfo()['admin'] to ensure the admin check is centralized.
  • typo fix in admin/pageUploadCSV.php.
  • Fix for the case where ctype* functions are not included with PHP.
  • Fix some PHP8 compatibility issues.
  • Use PHP's built-in filter_var() to validate emails in isEmail() instead of hard-to-maintain regex.
  • Code refactoring in admin/pageRebuildThumbnails.php and ensuring usage of configured image upload path rather than a hard-coded one.
  • Use <%%BASE_UPLOAD_PATH%%> placeholder in templates instead of <%%TRANSLATION(ImageFolder)%%>.
  • Refactor DataList::templateTranslate() method to parseTemplate() function in admin/incFunctions.php.

Client-side

  • Add new CSS spacer classes: tspacer-* (top spacer), bspacer-* (bottom spacer), lspacer-* (left spacer, RTL safe), rspacer-* (right spacer, RTL safe), where * is one of xs, sm, md or lg.
  • Replace AppGini.focusFirstFormElement() js function with the more versatile AppGini.focusFormElement(tn, fn).
  • Add optional 2nd parameter shift to AppGini.scrollToDOMElement() to specify a shift value, useful to make scrolled-to DOM element more visible near the mid of the screen rather than on top.
  • Use AppGini.imgFolder in js instead of AppGini.Translate._map['ImageFolder'].
  • Add id attribute to read-only YouTube, google map and web/email link fields.

Other changes

  • Remove Google Maps API setting from AppGini preferences window (since it's configurable from admin settings page now).
  • Update http links to https counterparts.

AppGini 5.92, Nov 10, 2020

  • Fix bug where applying quick search + filters caused an error.
  • Fix error message when default value of a field contains single quotes
  • Append DV next/previous buttons to the first .btn-toolbar only to avoid duplicates if the page contains multiple .btn-toolbar elements.
  • Disable special handling of Ctrl + right/left arrow when inside a non-empty input/textarea
  • AppGini.inputHasFocus(): detect focus in inputs and contenteditable elements.
  • Add vertical spacer between child link buttons on top of DV for better UI with many buttons that wrap.
  • Fix bug occuring with users having insert and no view permission.
  • If user has insert-only access (and no view) to a table, redirect to DV form after insertion rather than to a blank page.
  • Fix bug with validation and focusing of required rich text fields
  • UX enhancement in import-csv.php: if user manually clicks #start-upload, hide timer

AppGini 5.91, Nov 1, 2020

  • Usability enhancement: In detail view pages where both 'Save changes' and 'Save as copy' are enabled, add a lock button to 'Save changes' that allows user to disable 'Save changes' button to avoid clicking it by mistake when they actually mean 'Save as copy'.
  • Performance improvement: combine all calculated field ajax calls of TV and child tables into a single call rather than one call per record.
  • Display a link to keyboard shortcuts reference page in the keyboard reference modal.
  • Fix DV layout bug for fields that have the option 'Column width' checked (introduced after adding .tablename-fieldname CSS class to DV inputs).
  • Fix guest navigation and signup issue.
  • Fix bug in admin/pageEditMember.php that prevents saving changes.
  • Fix bug where __global.php hook functions were not executed properly.
  • Fix disappearing .warning class issue in TV rows when added programatically.
  • pageBackupRestore.php: Show mysqldump command on error (redacting db password)
  • CSV preview page: prevent new lines in field separator and wrapper.

AppGini 5.90, Oct 26, 2020

  • Add new CSV import tool that allows non-admin users to import CSV files (if their group settings permit so) into tables they have insert/edit access to.
  • Implement Next/Prev navigation in detail view.
  • New usability feature: Implement keyboard shortcut keys in users area (Ctrl + F1 or Shift + F1 to display available shorcuts).
  • Add %TABLENAME% and %PKFIELD% placeholders in calculated field query.
  • Add support for Powerpoint file types for file upload fields.
  • Super admin can always mass-delete, filter, save filters, sort, print, print DV, save as CSV regardless of table options set in AppGini (these still apply to other users, but no longer to super admin).
  • Remove language-admin.php and merge its contents into language.php for a unified translation file.
  • Add Open app icon (shortcut: SHIFT + F5) to open current AppGini app in browser (as last generated).
  • If app title already includes UPPERCASE characters in AppGini, leave case as-is.
  • Passing noQuickSearchFocus=1 when linking to a table view prevents auto-focusing of quick search button. This is useful when you embed a table view in another page and don't want the browser to "jump" down to the embedded page.
  • Various UI/UX enhancements.
  • Various bug and security fixes.
  • Detailed changelog here.

AppGini 5.84, Jul 14, 2020

  • Fixed bug in 5.83 where assigning record owner from users area caused an error.

AppGini 5.83, Jul 13, 2020

  • Important security fixes.

AppGini 5.82, Feb 23, 2020

  • Added Preview button to app generation log window to open generated app in web browser (works by configuring localhost settings in AppGini Preferences window).
  • Added support for formatting numbers like 1.234,56 in 'Data Format' tab.
  • Added command-line utility for updating calculated fields, php cli-update-calculated-fields.php to enable automation (via crontab, .. etc).
  • Enhanced server status page UI to allow zooming in sections of the page.
  • When TV has no records, hide unnecessary elements (#Print, #CSV, #tv-tools, thead).
  • Added new CSS classes to child label tabs for better JS manipulation: .child-tab-label, .child-table-{tablename}, .lookup-field-{fieldname}.
  • Updated AppGini logo.
  • Fixed regression where .form-inline styling is breaking customizations described in AppGini customization course.
  • Added .admin-area CSS class to container div in admin area pages.
  • Added .users-area CSS class to container div in users area pages.
  • Moved js initialization code to top of common.js.php file.
  • UI enhancement: Focus the first filter in filters page.
  • Calculated fields window: CTRL + TAB to insert tab, ENTER for a new line rather than closing window.
  • Correctly show files as appearance/code files during file generation.
  • moved calculated fields config to calculated_fields() function in admin/incFunctions.php for better reuse.
  • Renamed generate icon to 'Generate AppGini app' for consistence.
  • Override default home.php if hooks/home-custom.php exists, allowing creation of advanced custom dashboards.
  • Fixed regression bug with deep auto-fill lookup fields.
  • Fixed issue with displaying special characters in tech docs.

AppGini 5.81, Oct 15, 2019

  • Fixed issue where copying child records didn't work correctly on some server configurations.
  • Added new config.php parameter, host, for use when copying child records.
  • Fixed behavior of Same as project file button in Specify Output Folder window (switching to the same folder where the project file is stored).
  • PHP API: added backtick_keys_once($arr) to apply backticks around given array keys.
  • Fixed issue with inserting data to fields named like mysql keywords.
  • Prevented stripping of last comma in array lists to make source code diffs more precise.
  • Fixed a bug where some projects failed to load in AppGini.
  • Bug fix in admin/incFunctions.php#insert() and update().
  • Fixed a bug in populating calculated fields in detail view.
  • Added link to mass update plugin in add-ons menu.
  • AppGini command line: Added support for --log {path-to-log-file} parameter for saving app generation log to provided file name.
  • Fixed: Focus correctly on first element in form if it's a rich text or select2 drop-down.
  • Added selected/skipped files counter in files list window when generating apps.
  • Displaying output folder path in files list window.
  • Fixed: Preserve size of generation log window if resized by user.
  • Files list window is resizable.
  • Calculated fields: Child table: Refresh button updates calculations.
  • Calculated fields: Fixed issue where calculated fields returning HTML displayed source code in table view.

AppGini 5.80, Oct 6, 2019

  • Calculated fields.
  • Automatically copy child records when copying parent.
  • Enhanced UI of group permissions page for faster editing.
  • Enhanced UI for ‘Specify output folder’ window.
  • Enhanced file upload UI with minimum frustration!
  • Smart enhancements to auto-complete drop-downs.
  • Developer/admin technical documentation.
  • API changes.
  • Bug fix in Edit record ownership page.
  • Preserve table view settings when going back from TV using the top left (table name) link, just like when clicking Cancel/Back button.
  • Fixed: Changes to rich text (nicedit) are not detected by the Save changes button.
  • When saving CSV files, set the name to include date and time to make it easier to version CSVs if users are downloading them frequently.
  • Fixed: Prevent triggering of auto-loading for PHPMailer and Notification classes.
  • Added a UI hint for lookup fields that have custom queries.
  • Fixed a potential run time error when resetting a custom query to default one for a lookup field.
  • Fixed: Configured data format for field should take priority over default date/time formatting in both table view and detail view.
  • Fixed a bug that lead to failure generating some files when some special UTF8 characters are used in table/field captions.
  • For a detailed explanation of all the new features, please refer to this blog post.

AppGini 5.76, July 6, 2019

  • Hotfix release. Fixed redirection bugs for AppGini apps installed directly to document root folder.

AppGini 5.75, Mar 20, 2019

  • When adding a new parent record from the DV of a child record, auto-select it in drop-down
  • Ability to search icons by name in the table icons window
  • Pressing F4 in AppGini, you can switch between the left tree-view, the search box, and the right pane.
  • MySQL2AppGini import utility updated to use mysqli and is available through online download link
  • Better handling of nav menu height when it's too long
  • Added new JS function in common.js.php for retrieving Text of a lookup field given ID, AppGini.lookupText()
  • Naming new projects new_app rather than new_db to infer this is the app name not the db name.
  • Extended RemeberMe renewal window to 20 minutes.
  • auto-focus on group name box in pageEditGroup.php
  • Ignoring 'Read-only' option for 'Auto-fill' lookup fields.
  • Silencing SQL errors in sqlValue() and adding an optional pass-by-ref argument to retrieve errors.
  • Added CSS classes to elements of pageEditGroup.php in order to allow mass-control later
  • Fixed a bug with populating auto-fill lookups under certain conditions
  • Fixed bug where print DV option was visible in 'More' menu when DV printing is disabled
  • Fixed rebuild fields behavior when renaming PK fields
  • Added a hint for admin SQL errors to rebuild fields
  • Fixed bug in cascading drop-downs where View/Add buttons disappeared after parent selection.
  • Fixing display issue with Sandstone compact theme.
  • Fixed index size issue when creating membership_userrecords table with a UTF8 encoding
  • bug fix in application_url()

AppGini 5.74, Feb 7, 2019

  • Fixed a redirection bug on servers where DOCUMENT_ROOT is an alias.
  • Updated help links in AppGini menu, and added new 'Add-ons' menu.

AppGini 5.73, Feb 5, 2019

  • Added 'Generate Application' option when right-clicking a project file in Windows Explorer to generate the app without opening AppGini first.
  • Added support for new command line parameter --output to specify output folder from a shell or a batch file (AppGini Pro only).
  • Hardened remember-me cookies to use dynamic tokens and prevent session theft.
  • Fixed CVE-2018-18587 -- hardened stored password hashes to comply with best practices for storing user credentials.
  • 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.
  • For full changelog, please see the release announcement on our community forum.

AppGini 5.72, June 11, 2018

  • Fixed: Radio lookups: 'view parent' link not working.
  • Fixed: In-page validation for required radio button lookups/option lists.
  • Fixed: Save flag not triggered when moving field up.
  • Added hide all and toggle buttons to column toggle menu.
  • Fixed count() warning on PHP 7.2.x
  • Fixed vertical spacing of date combos.
  • Added link to YouTube channel on the toolbar.
  • Fixed datetimepicker European date formats.
  • Fixed bug in sql() function causing Notification::placeholder() not to be declared on silent errors.
  • Unified utf8 conversion functions to use to_utf8() and from_utf8()
  • Fixed utf8-related bugs in select2 drop-downs and auto-fill lookups
  • Fixed image caching issues in thumbnail.php

AppGini 5.71, May 24, 2018

  • Implementing datetime picker for datetime fields
  • Unicode-friendly copy/paste of tables and fields
  • Shortening columns cookie name to avoid 'bad request' errors,
  • Improved responsiveness of 'Edit theme' dialog to prevent freezing
  • Fixed: Record permissions are not honored in children view in some cases
  • Fixed: image upload fields don't display the image if no renaming and file name contains a hyphen.
  • Fixed image lookup DV issues
  • Set column hide/show cookies to expire after 30 days rather than on closing the browser.
  • Fixed a bug with image uploads in tables containing 2 or more image upload fields.
  • Fixed an issue with backups on servers having no MySQL password.
  • Fixed bug with show/hide columns dialog in vertical TV layout
  • Cleanup of some obsolete image files no longer used.
  • UX enhancements.
  • Allow long TLDs in email field of the activation window
  • Removed 'DB name' label from project page to avoid confusion
  • Fixing issue with initial values of auto value time fields.
  • Fixing issue with default value for time fields in 12hr mode.
  • Fixed issue with displaying empty time values in DV
  • inserting null in time fields if left empty when inserting a new record.
  • Changed the data type info icon to text, and also the lookup auto data type icon.
  • Updated the data type choice link to use the https version.
  • Added uninstaller icon (in Windows Add or Remove Programs dialog)
  • Prevent adding .alert-link to button links.
  • Fixed an activation bug validating emails with long TLDs.
  • Fixed bugs with sorting of lookup fields in child tables.
  • Fixed a bug where addslashes was incorrectly applied to cached auto-fill lookups, causing escaped quotes
  • Added html_attr_tags_ok() function and applied to cached auto fill data.
  • Added thumbnail caching to thumbnail.php (except for super admin user for administrative purposes)
  • Fixed issue with defining datalist_image_uploads_exist constant in datalist.php
  • Fixed issue with templates/tablename-ajax-cache.php where auto-fill lookups having parent images were not displayed correctly
  • Loading moment.js and bootstrap-datetimepicker in header.php
  • When saving filters, remove the FilterAnd for undefined filters from the filter URL

AppGini 5.70, Jan 23, 2018

  • Added database backup/restore page in the admin area (accessible under the Utilities menu).
  • Option to display the record count of each table in the homepage (to enable, select the table in AppGini and check the option Show record count in homepage).
  • Added 'Show/hide columns' button above table view.
  • Better handling of wide tables in mobile view by allowing users to easily scroll horizontally, one column at a time.
  • Added 'Fix all' button to 'Rebuild fields' page.
  • Added more table icons to choose from.
  • More than 60 enhancements, security and bug fixes.

AppGini 5.62, May 8, 2017

  • Implemented PHPMailer as the mail function for apps, with SMTP support configurable in admin settings.
  • Included hooks/__global.php in admin area.
  • Added new hook in __global.php, sendmail_handler() for intercepting mail sending operations.
  • Fixed PHP 7.1 compatibility issue.
  • Fixed preg_replace calls with /e modifier.
  • Added validation checks to make sure undefined data formats are properly handled.
  • Fixed XSS vulnerability in quick search responsibly reported by Netsparker.
  • Added hooks/README.html.
  • Fixed error with line breaks in emails sent from the admin area.
  • Bug fix with sorting of formatted lookup fields.
  • Bug fix for array_map warning when a record is selected in a table with a non-numeric PK.

AppGini 5.61, April 17, 2017

  • Improved detail view loading performance by preloading lookup values.
  • Bug fixed: Redirects don't work correctly if a non-standard port is used.
  • Configurable detail view template in DataList so that it can be set in hooks.
  • Fixed sorting behavior of lookup fields containing numeric data in table view.
  • Fixed a bug with anonymous users unable to directly access tables that they are allowed to view.
  • Fixed bug with error reporting behavior of unique fields.

AppGini 5.60, Dec 25, 2016

AppGini 5.51, Jun 28, 2016

  • Added support for maintenance mode (where site is accessible only to admin).
  • Better handling of unique value errors through Ajax-based validation.
  • Ensuring PHP 7 compatibility.
  • Keep "Action Button Scrolling" enabled by default for long forms.
  • Bug and security fixes plus usability enhancements.

AppGini 5.50, Dec 15, 2015

  • Added ability to organize tables into separate groups to make it easier for users to access applications with a large number of tables.
  • Added optional printing of child records in the detail view.
  • Added option to keep action buttons visible when scrolling down the detail view form.
  • Added a per-table option to enable/disable 'Add new records' from homepage.
  • Added new option for lookup fields to control the behavior of the link to parent record in detail view.
  • Added language-admin.php to make it easier to translate the admin interface.
  • Many bug fixes and usability enhancements.

AppGini 5.42, Aug 4, 2015

  • Various bug fixes.

AppGini 5.41, Jun 16, 2015

  • Ability to add records directly from the home page
  • Various improvements for RTL (right to left) languages
  • Hiding 'Sign up' link if no groups are set up to allow user registration.
  • Various bug fixes and usability enhancements.

AppGini 5.40, May 19, 2015

  • Support for displaying google maps in your application, just by providing a google map url.
  • Support for displaying youtube videos in your application, just by providing a youtube url.
  • 17 bootstrap themes to choose from, each with a large and a compact version. All 17 themes work in both left-to-right and right-to-left languages .
  • New parent records can be added easily without leaving the child record form.
  • Easier bookmarking of filtered tables.
  • Better UI in filters page.
  • Convenient highlighting of form errors before submitting.
  • Enhanced appearance of download links.
  • Enhanced application security.
  • Improved compatibility with IE.
  • A huge list of UI enhancements and bug fixes.

AppGini 5.31, Jan 12, 2015

  • This is a stabilization release where many bugs have been fixed and many UI and performance enhancements introduced.

AppGini 5.30, June 2, 2014

  • Time fields now display a time picker in the detail view.
  • Time fields now support 12hr and 24hr time formats.
  • Added "Rebuild fields" utility to the admin area to detect and easily fix database schema errors.
  • Users can now select one or more records in the table view and perform batch actions on them.
  • Added support for batch deleting of multiple records in the table view for users with delete permissions.
  • Admin user can now change the owner of multiple records easily from the table view.
  • Added batch_actions hook to create custom batch actions for records.
  • Various bug fixes and usability enhancements.

AppGini 5.23, Feb 4, 2014

  • Auto-fill lookups that have parent captions set as image fields can now display their parent images.
  • Fixed long URL wrapping in table view (See the forum post).
  • Fixed display issues with long fields in table view.
  • Fixed issues with clearing lookup drop-downs.
  • Fixed bugs with modal window in child tabs.
  • In case of setup errors while creating tables, automatic redirection to finish page is disabled and errors are displayed.
  • No zooming of empty image fields.
  • Other minor cosmetic changes.

AppGini 5.22, Nov 30, 2013

  • Fixed a bug with sorting of fields that occurred in some cases.
  • Fixed a bug with custom queries for lookup fields not working correctly.

AppGini 5.21, Nov 10, 2013

  • Added a compact (small fonts, less spaces) Bootstrap theme to the project themes.
  • Ability to specify column alignment (left, right, center) in table view.
  • Layout improvements in admin area.
  • Various bug fixes in lookup drop-downs, user permissions, and several others.

AppGini 5.20, Oct 28, 2013

  • AppGini applications are now mobile-friendly and responsive.
  • Added 13 new themes, including a dedicated RTL theme for right-to-left languages.
  • The new themes are all based on Twitter Bootstrap 3, so you can easily add more themes as thousands are available online.
  • New searchable drop-downs for lookup fields and option list fields.
  • Multiple-choice option lists are much easier to use now.
  • Major usability and UI improvements.
  • Various bug fixes.

AppGini 5.12, Aug 13, 2013

  • Removed unnecessary redirections for non-logged users.
  • Fixed a bug with characters above ASCII 128 not displaying correctly when using Unicode encoding.
  • Fixed a bug with sorting resetting filters if detail view is in the same page as table view.
  • Bug fix where lookup menus didn't display in detail view if user had insert permission but no update permission.
  • Fixed a stack overflow error when generating an application with complicated hierarchical lookup fields.
  • Fixed a bug with header redirection not working in some special cases.

AppGini 5.10, Jun 10, 2013

  • Enhanced and simplified setup page for generated applications.
  • Enhanced and simplified password reset process.
  • One-step application generation by pressing Ctrl key while clicking the "Generate" icon.
  • Added support for --generate command line option to generate AppGini applications without dealing with the GUI. This way, you can use batch files and integration tools to automate creating your application.
  • Enhanced copying/pasting of tables and fields to work across multiple instances of AppGini.
  • Applied pagination alignment to the top buttons to avoid horizontal scrolling to see those buttons on wide tables.
  • Added an option to remove "Powered by AppGini" footer (Pro version only).
  • Implemented displaying grand parent lookup values (lookups that point to caption fields that are in turn lookups now display the exact content of the parent lookups).
  • "Go to page" drop down in the table view now displays a partial list of pages for better performance with huge tables.
  • Lookups are now loaded using ajax to enhance performance for huge lookup lists.
  • Optimized the ownership assignment process (in the admin area) to take much less time when dealing with huge tables.
  • Added a link to download language files beside the encoding drop-down in AppGini.
  • Various bug fixes and usability enhancements.

AppGini 5.00, Dec 23, 2012

  • Support for parent/children views to access all children of a record from one page.
  • Easier and faster design of your database: Ability to copy and paste fields and tables within a project and between 2 projects.
  • Better application interface: Enhanced sign-in and and sign-up forms.
  • Selection of table icons from an icons gallery.
  • Choice between 2 homepage themes (classic and metro).
  • More database search power: users can now search for records owned by them or their group.
  • Control of the alignment of the pagination section below the table view (full-width, left- or right-aligned).
  • Major UI enhancements in both AppGini and the generated applications.
  • If user applies a filter to one or more fields, an indicator icon is displayed in the field title.
  • Many bug fixes, usability enhancements, and elimination of most cross-browser inconsistencies.
  • See the AppGini 5.0 release announcement here.

AppGini 4.81, Aug 8, 2012

  • Bug fix for the MySQL database import utility.
  • Bug fix in some of the generated files to work with PHP installations that don't support short_open_tag

AppGini 4.80, Aug 6, 2012

  • Multi-level cascading drop-downs (for example, selecting a model from the car models drop down filters the car make drop down).
  • New metro-style home page.
  • Redesigned login page (please make sure to apply a theme to your old projects to take advantage of the new design).
  • Member profile page (where users can view and edit their profile, change their password, and view their permissions).
  • Easier page navigation in all views.
  • Sorting of tables in AppGini.
  • Filters pages redesigned.
  • Easier code generation procedure (new folders are automatically created, smarter output folder guesses).
  • New member notification email contains all member info.
  • Various usability enhancements and bug fixes.

AppGini 4.70, Jan 27, 2012

  • Added support for time zones.
  • Added "maxlength" parameter to form inputs to limit input size based on max field length.
  • Easier quick search by just clicking <Enter> rather than having to click the search button.
  • Added option to highlight a field/table in AppGini to easily refer to it later.
  • Updated Prototype and Scriptaculous javascript libraries to the latest release.
  • Various usability enhancements and bug fixes.

AppGini 4.61, Oct 30, 2010

  • This is a maintenance release that includes various bug fixes.

AppGini 4.60, Oct 1, 2010

  • Better themes management: A new theme editor in AppGini makes it much easier to modify the application appearance. Also, we added some new better looking themes.
  • Usability enhancements:
    • Users can now resize text areas by merely dragging their bottom border.
    • Added an automatic description for upload fields showing the allowed upload size and accepted file types.
    • Long drop-down combos are now automatically replaced by auto-complete text fields to make it easier for users to search them by simply typing part of an item.
  • Easier and more powerful customizations:
    • You can now customize the query for lookup fields to control the contents of the drop down.
    • A new hook file to add customized javascript code to control the behavior of forms. Please refer to the hooks documentation for more details.
    • You can now easily customize the filters page for each table, group, and even for each user. Please refer to the hooks documentation for more details.
  • Performance enhancements: drop down fields that contain a large number of items caused pages to slow down. This has now been fixed by automatically using auto-complete text fields if the number of items exceeds a certain limit.
  • Better support for non-Latin characters, and for right-to-left page layouts.
  • Added phone, 12-hour time, and Canadian postal code formatting to the available data formats.
  • Various bug fixes, security, and usability enhancements.

AppGini 4.53, May 7, 2010

  • This is a maintenance release that includes various bug fixes.

AppGini 4.52, Apr 12, 2010

  • This is a maintenance release that includes various bug fixes.

AppGini 4.51, Mar 8, 2010

  • More printing options: Added option to partially select records for printing them as a list (table view) or as details (detail view).
  • Added multiple selection option fields (users can select more than one value from a list box).
  • Create your database fields faster than ever before: When you create a new field and set its name to image, photo, comments, notes, date or id, AppGini smartly guesses the field properties so you don't have to waste time on this.
  • Increased performance and responsiveness of AppGini, various bug fixes and usability enhancements.

AppGini 4.50, Feb 5, 2010

  • Support for automatic creation of thumbnails for uploaded images.
  • Option to zoom thumbnails when clicked using lightbox2.
  • Added a javascript date picker for date fields for easy selection of dates.
  • Easier management of large projects: you can now type a part of the name of any field or table in AppGini to search for it quickly.
  • Enhanced security of data: You can now set lookup fields to inherit permissions of parent tables so that users can only see the data they have access to.
  • More convenient user login experience: Added Remember me option during login to avoid typing the username and password on every visit.
  • More flexibility and power to you: Added hook functions for easier customization of the generated application for adding new functionality. Check the easy-to-follow examples in the online help.
  • Usability enhancements and bug fixes.

AppGini 4.40, June 23, 2009

  • Support for rich HTML text area fields.
  • Implemented a printer-friendly detail view option.
  • Added option to display lookup field data as radio buttons (in addition to the drop-down menu option).
  • Added support for automatic values (values inserted automatically into read-only fields when inserting or updating records).
  • Enhanced the CSV data import feature.
  • Added table description property.
  • Added the option to open the last project from the start screen of AppGini for faster access.
  • For easier member signup, if only one group is available for sign up, it's now set as default in the registration form.
  • Various usability enhancements.

AppGini 4.30, Mar 3, 2009

  • Better support for international encodings and right-to-left languages.
  • The File menu now contains a list of the recently opened projects for quick access to your work.
  • AppGini can now add a table to your project using a CSV file.
  • The Data Format tab enables you to specify a special formatting for the selected field.
  • You can add description to each field in your project. This can be used as a help hint for your application users.
  • In the admin area of the generated applications, you can now populate any table with data imported from a CSV file.
  • Added support for enforcing a pre-selected parent value for a read-only lookup field.
  • Several usability enhancements, and better accessibility support.

AppGini 4.20, Sep 2, 2008

  • Added configurable option to notify admin by email when a new member signs up.
  • Implemented auto selection of appropriate value from lookup drop-down when child table is accessed from parent table.
  • Added option to display sum of column for numeric fields.
  • Support for updates and inserts using GET requests (to simplify integrating AppGini code with third-party scripts).
  • Several usability enhancements.
  • Reported bugs fixed.

AppGini 4.10, July 7, 2008

  • Members can now change or reset their passwords.
  • Auto-fill fields (fields that are automatically populated with data from another table -- see a video demo here).
  • Admin user can now sign in from the members area or the admin area, and an admin group is now automatically created that has full access to all tables.
  • Ability to define custom "quick lists" to be used for "option list" fields.
  • Support for friendly date formats in filters.
  • Changes to database structure after file generation are now applied automatically without having to run the setup script.
  • When performing a quick search, search terms are highlighted in the search results.
  • Various usability enhancements in both AppGini and generated applications.
  • Reported bugs fixed.

AppGini 4.00, March 17, 2008

  • Implemented membership sign-in system with group-based table permissions.
  • New re-organized and enhanced user interface.
  • MySQL2AppGini is now packaged as part of AppGini rather than a separate tool.
  • Table and field captions now support international character sets.
  • When using filters, "like" and "not like" now automatically translate to "contains" and "contains not" if no wildcards (% or _) are used.
  • Default data type for new fields changed to varchar(50) rather than integer.
  • Saving data to CSV files is now enabled in the freeware version.
  • Added full support for SSL connections.
  • Added option to sort generated tables list alphabetically.
  • Reported bugs fixed.

AppGini 3.40, August 18, 2007

  • Easier lookup fields, with the ability to combine 2 parent fields in one drop down.
  • Support for foreign keys that point to the same table.
  • Ability to specify output pages encoding.
  • Ability to search for "empty" and "not empty" fields in filters.
  • Enhanced project styles, with a new 3D look.
  • Fixed a bug where empty lookup field values caused records to be hidden.
  • Fixed a bug where clicking "Cancel" or "Deselect" in a separate detail view page caused resetting of filters.
  • Other reported bugs fixed.

AppGini 3.30, February 14, 2007

  • Ability to specify a default sorting field and direction for each table.
  • Support for check-boxes.
  • Date of today can be easily entered to date fields with one click.
  • Files in the overwrite window during code generation now sorted by file name for easier handling.
  • Alternating row colors in table view.
  • Fixed a bug where quick search with no results causes page numbering errors, plus other bug fixes.

AppGini 3.20, January 7, 2007

  • Ability to specify which files to overwrite and which to skip by checkboxes in a single window before code generation.
  • Option to easily access related children records from parent tables.
  • Support for web and email links.
  • Option to hide detail view till a field is selected, and to hide table view when detail view is selected.
  • Enhanced and more organized field properties page
  • Reported bugs fixed

AppGini 3.10, April 10, 2006

  • Ability to automatically apply field data type changes to your database
  • Ability to add new fields to your tables automatically and without any data loss
  • Better compatibility with PHP5 without changing php.ini settings
  • Ability to create radio buttons and list boxes
  • Enhanced and more organized field properties page
  • Ability to control whether fields are displayed as textarea or text boxes
  • Added a link to index page in the table navigation dropdown
  • Reported bugs fixed

AppGini 3.01, July 2, 2005

  • New XML-based file format (*.AXP) for easier editing and advanced control of code generation
  • Support for file uploads, and control on accepted file types.
  • Added an option to display links to uploaded files so that users can download them.
  • Next/Previous links in table view, and ability to navigate to any page.
  • Tamplate-based table view and detail view for easy customization of appearance.
  • Eastern Asian versions of Windows now fully supported.
  • Added the option to display the first n characters of a long field in the table view.
  • Easier method of ordering fields in AppGini.
  • Hyphens in database names now acceptable.
  • Each row in the table view is highlighted when the mouse passes over it for better readability.
  • Foreign and primary keys are more recognizable in AppGini now as they have different icons.
  • Added a tool to automatically convert old project file format (*.AGP) to the new XML format (*.AXP).
  • Added an option to delete uploaded files from server if the record is deleted.
  • Added an option to not change the name of the uploaded files.
  • Reported bugs fixed.


No change log is available currently for versions of AppGini earlier than 3.01.