Avg Release Cycle
- Optimizations and fixes to the API for viewing the data on Countly for iPhone
- Optimization for begin_session and end_session handling especially to prevent a new session creation on Android when the user changes the screen orientation. end_session is ignored if begin_session is received less than ~10 secs ago.
- Added "Yesterday" to available date buttons
- Fixed platform versions visualization of Mac
- General UI optimizations
- Added session durations view that shows users categorized into predefined session duration buckets. User is categorized into one of 0-10 seconds, 11-30 seconds, 31-60 seconds, 1-3 minutes, 3-10 minutes, 10-30 minutes, 30-60 minutes or > 1 hour according to this session duration (accessible from Engagement > Session durations)
- Added resolutions view that shows detailed device resolution data (width and height) for new and all users using two pie charts (accessible from Analytics > Resolutions).
- Added cluster mechanism to api.js to fork itself according to number of cores in the server in order to increase utilisation. This can also be configured from api/config.js by changing "worker" count.
- Added two new API paths, /o/analytics/dashboard and /o/analytics/countries that returns ready-to-use metrics for today, 7 days and 30 days. This API is used by Countly Mobile Apps.
- Added individual event key deletion to event configuration modal.
- Improved and optimized update mechanism during dashboard navigation. Navigation is now much more smoother.
- Added a script (bin/geoip-updater.sh) to fetch and update geoip data. Running this script will update country and city database from Maxmind database.
- Various performance and visual improvements to Events view.
- Added switch to turn off or change session_duration limit of 120 seconds in api/config.js (session_duration_limit).
- Added host configuration to both app.js and api.js configuration files (/frontend/express/config.js and /api/config.js) to make it possible to run dashboard and application on different servers (defaults to localhost)
- Added Windows Phone and Blackberry WebWorks support.
- Added management API. All user and application related operations can be performed through the API using an API key.
- Modified data read API (/o) to be accessible only by using an API key.
- Added Portuguese and Russian to available languages.
- Added event key sorting to event configuration modal.
- Removed "EVENTS SERVED" from the dashboard and added "TIME SPENT" metric.
- Fixed a bug that prevented correct visualization of event data which has segmentation values 0-23 (hours of the day).
- Modified event segmentation bar chart not to show stacked data.
- Modified event segmentation count and sum below the graph to show only the count and sum for the selected segmentation key.
- Optimized dashboard experience on tablet devices.
- Added awesome animation for closing popups with ESC key :)
- Added localization support. All the pages have translations in the following languages: Chinese, Dutch, French, German, Italian, Japanese, Spanish and Turkish (https://www.transifex.com/projects/p/countly/).
- Added city level location information to countries view. City level location information is available only for the country selected in timezone configuration of an application.
- Added ghost graphs for all the 6 time graphs on the dashboard view. A light gray graph will represent the previous period. For instance if "30 days" is selected, ghost graph will show the stats for the previous 30 days.
- Added current month to the available time buckets.
- Optimized total user calculation for date ranges other than current year, month and day which already show the absolute number.
- Added custom event support. Each event has a key as well as a count and an optional sum property. There can be unlimited number of segmentation keys for an event.
- Added help mode. After activated from the sidebar under Management > Help, certain items in the interface show a small descriptive text when hovered on.
- Added option to re-order applications listed in the sidebar.
- Added option to select a single day from the date picker. When a single day is selected hourly data for that day is displayed.
- Optimized dashboard refresh process. While refreshing the dashboard, only the data for the current day is requested from the read API. Current day data is merged into the existing data which is fetched the first time user logs in to the dashboard.
- Fixed active application and selected date reset problem after a hard page reload. Active application and selected date are stored in localStorage until user logs out.
- Added platforms view under analytics section.
- Added app versions view under analytics section and API is modified accordingly to handle _app_version metric.
- Added summary bars to device view to show top platform, top platform version and top resolution.
- Added reset data option to manage apps screen. Global admin can reset the data stored for any application.
- Added timestamp (UTC UNIX timestamp) parameter to the write API. If provided, the event is recorded with the given time instead of current time.
- Fixed application delete bug that prevented app_users collection to be cleared. app_id field is added to app_users collection.
- Fixed JSON escape issue for the read API when device name, carrier name etc. contained a single quote.
- Added user management support. A user can be created as a global admin to manage & view all apps or can be assigned to any application as an admin or user. An admin of an application can edit application settings. A user of an application can only view analytics for that application and cannot edit its settings.
- Added csfr protection to all methods provided through app.js.