I'm pleased to announce that we've finally released the long-awaited AppGini 5.40. The long wait hasn't been wasted! We've added a ton of features, fixes and enhancements.
Here is a full list of changes. Please note that this list has been copied from the comments in our Git repository, in chronological order (newer to older). So some points might be vague, but feel free to ask if you need any clarifications. To make it easier to follow, I've added a filtered "friendly" list of new features first, then the full change log.
New features in AppGini 5.40
- 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
- Added new language items in language.php
- 'SortDirection' validation in datalist.php
- Fixed 'queue' variable validation in admin/pageSender.php to prevent vulnerability of server-side execution of arbitrary code files
- Implemented CSRF countermeasures in user profile page
- Added CSRF protection for admin/pageSettings.php
- Added flv and mp4 to allowed video file types
- Fixed width of large full-size images in DV
- Max upload size is now the smaller of php.ini upload_max_filesize and the field's max file size
- The view parent button now works for new records when the lookup is not empty
- For dropdown lookup fields, view parent link behaves same as add new parent link (opens parent record in a modal window)
- Added filter permalink to the filter html code box,
- Added clear filter buttons in filters page besides each filter row,
- fixed quick search box appearing in embedded mode (DVTV tables),
- Fixed project saving detection in themes window,
- Added twitter link in toolbar
- UI enhancements for select2
- refactoring of some code in common.js.php
- Added support for an add new button besides lookup dropdowns.
- Added countries missing from country quick list: russia, serbia, north korea
- Added support for opening AXP files by dragging and dropping them to the main window.
- Added new themes (total is now 17 themes)
- Fixed textbox width issues in input-groups
- Added is_allowed_username() function to admin/incFunctions.php to validate new usernames from one unified location, applied to ajax check of signup form
- Fixed glyphicon issues,
- Removed admin/pageLogin.php as it's no longer being used.
- Applied bootstrap validation states to the setup form and fixed the ones in membership sign up
- Fixed display of logo in setup.php
- Fixed client-side and server-side validation bugs with file and image uploads for required fields
- Added error highlighting for required fields during client-side validation
- Added id attribute to file upload fields (to be able to validate on submitting)
- "Required" file upload fields won't allow users to manually remove files
- Enhanced appearance of the showNotifications() alerts
- Applied ucwords() to <title>
- Added favicons for users' area and admin area
- Modified filter operators to prevent triggering mod_security for using <, > in the url,
- Improved code for showing the filters source code to prevent reloading the page on closing it
- Implemented download link icons based on file upload/link type
- DV UI enhancements for image and upload fields
- Added security checks to link.php to prevent unauthorized users from retrieving uploaded files
- Added check_record_permission() function to check user's specific permission for a given record
- set style to overflow-x: hidden for the parent div containing input[type=file]
- Implemented Google maps
- Fixed bug with quick search strings containing #
- Fixed bug with blank images height
- Implemented caching for embedded content
- Implemented Youtube properties in AppGini and in generated DV
- Added get_embed() function to incCommon.php to embed content that supports oEmbed
- Slight modifications to the setup styles to work better on dark themes
- Added support for comments (lines starting with #) in add-ons/fileTypes.cfg
- Moved upload options to the media tab
- Added SelectAll() function to generals to highlight all text in given TextBox
- disabled web and email link options in the case of non-textual fields
- Removed the old link options controls
- Removed static background colors from setup and admin pages to leave it to the theme.
- Moved link options to the media tab into a separate window
- Moved image options to the media tab.
- Removed obsolete themes (RTL, compact, and Amelia) and added automatic upgrades for projects that used those themes
- Implemented "Compact" theme option in theme preview
- Updated theme preview style to match the generated app
- Applied RTL to theme previews
- Applied 3D effects only to bootstrap in theme previews
- Removed the unneeded jquery-ui.min.js file
- Issuing of 403 Forbidden header on failed login to make it easier to configure the server firewall to prevent brute force logins
- Implemented optional trimming of user input (on by default, can be disabled from AppGini Preferences > Project defaults)
- For embedded view, hid the table title
- Added RTL and Compact options to all themes rather than having 2 separate special themes for them
- For date picker combos, added a class for preventing the huge inter-spacing
- Some UI fixes for themes
- Removed unnecessary rules from dynamic.css.php
- Upgraded the main bootstrap theme to 3.3.4
- Fixed bootstrap bug in tabs and modals
- Fixed .hidden css bug in bootswatch themes.
- Updated previews themes
- Updated bootswatch themes to Bootstrap 3.3.4
- Added fixes in dynamic.css.php that make it unnecessary to modify the bootstrap themes
- Removed @prepare-for-appgini.php as it's no longer needed
- Upgraded bootstrap.css to 3.3.2 and added newest jQuery 1.x branch
- Upgraded jquery to 1.11.2
- Added SortField value to the Save filters code
- Fixed layout bug when select2 contains a long string
- Adjusted notification margins to work on both small and large bootstrap themes
- Applied jQuery to field validation js code
- Appied a search highlight class for easier config
- Moved 3 functions defined in date_combo.class.php to the more likely incCommon.php, and resorted includes accordingly
- Fixed the DV page shifting up after the 'saved' message disappears
- Added support for 2 new magic file in hooks: header-extras.php, footer-extras.php that, if found, are included into the header and footer, resp. of each page.
- fix for iframe scrolling on iOS
- Hid login as guest when guest has no access
- Fixed fatal program error while generating files if footer.php is set as read-only
- Fixed navmenu height when there are too many tables
- Fixed a js error, causing ajax stop event not to be fired.