{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/2026-07-31-july-release/","result":{"data":{"site":{"siteMetadata":{"siteUrl":"https://avniproject.org","twitterHandle":"@avniproject"}},"post":{"id":"ac1a68c9-91f9-5e68-ae28-50df0574740c","html":"<h2>AI Models Update Without an App Release</h2>\n<a href=\"https://github.com/avniproject/avni-product/issues/1880\" target=\"_blank\" style=\"text-decoration: none; color: inherit; display: block; transition: all 0.3s ease;\" onmouseover=\"this.style.opacity='0.95'; this.style.transform='translateY(-2px)'; this.style.boxShadow='0 8px 24px rgba(0,102,204,0.15)';\" onmouseout=\"this.style.opacity='1'; this.style.transform='translateY(0)'; this.style.boxShadow='none';\">\n<div style=\"padding: 40px; margin-bottom: 20px; cursor: pointer; background: #ffffff; transition: all 0.3s ease;\">\n    <p style=\"font-size: 14px; color: #0066cc; font-weight: 600; margin: 0 0 8px 0;\">Update AI models over sync</p>\n    <p style=\"margin: 12px 0; line-height: 1.8;\">Organizations using on-device AI models can now receive updates through regular sync — <strong>no app release needed</strong>. Models are delivered securely, encrypted both in transit and on the device, keeping field operations running smoothly without waiting for new app versions.</p>\n    <p style=\"margin: 12px 0; line-height: 1.8;\">Perfect for teams iterating on AI-powered workflows or fixing model behavior without coordinating app updates.</p>\n    <p style=\"margin-top: 16px; font-size: 13px; color: #0066cc; font-weight: 600; display: flex; align-items: center; gap: 6px;\">→ View technical details</p>\n</div>\n</a>\n<div style=\"border: none; height: 2px; background: linear-gradient(90deg, transparent, #e0e0e0, transparent); margin: 40px 0;\"></div>\n<h2>Attendance That Remembers</h2>\n<div style=\"display: flex; gap: 40px; align-items: center; padding: 40px; margin-bottom: 20px; background: #ffffff;\">\n    <div style=\"flex: 1; min-width: 250px;\">\n        <img src=\"/static/6fdf7273500fffb118d1326b1a6034b0/attendance.gif\" alt=\"Attendance flow on the mobile app\" style=\"max-height: 420px; width: auto; max-width: 100%; display: block; margin: 0 auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);\">\n    </div>\n    <div style=\"flex: 1; min-width: 250px;\">\n        <p style=\"margin: 12px 0; line-height: 1.8;\">Two important fixes to the attendance flow ensure data stays accurate:</p>\n        <ul style=\"margin: 12px 0; margin-left: 20px; line-height: 1.8;\">\n            <li><strong>Fixed: Reopening old attendance forms</strong> &#x2014; When reopening a form from the past, the system now checks if a student was eligible *on that date*, not today. This prevents accidentally erasing attendance history for students who have since left the program. (<a href=\"https://github.com/avniproject/avni-client/issues/1983\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-client#1983</a>)</li>\n            <li><strong>Better absence tracking</strong> &#x2014; When marking a student absent for &quot;Other&quot; reasons, you can now add a written note specific to that student, making it easier to understand the full context of an absence. (<a href=\"https://github.com/avniproject/avni-client/issues/1982\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-client#1982</a>)</li>\n        </ul>\n    </div>\n</div>\n<div style=\"border: none; height: 2px; background: linear-gradient(90deg, transparent, #e0e0e0, transparent); margin: 40px 0;\"></div>\n<h2>Faster Form Filling</h2>\n<div style=\"display: flex; gap: 40px; align-items: center; padding: 40px; margin-bottom: 20px; background: #ffffff;\">\n    <div style=\"flex: 1; min-width: 250px;\">\n        <img src=\"/static/3705b0757ebd56a932f722be20d814d8/searchwithincoded.gif\" alt=\"Typing in the search box to filter a coded answer list\" style=\"max-height: 420px; width: auto; max-width: 100%; display: block; margin: 0 auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);\">\n    </div>\n    <div style=\"flex: 1; min-width: 250px;\">\n        <p style=\"margin: 12px 0; line-height: 1.8;\">Two enhancements that save time when working with larger datasets:</p>\n        <ul style=\"margin: 12px 0; margin-left: 20px; line-height: 1.8;\">\n            <li><strong>Search inside dropdowns</strong> &#x2014; Coded answer lists now include a search box, just like address fields already did. When a dropdown has many options, field workers can now type to filter instead of scrolling. (<a href=\"https://github.com/avniproject/avni-client/issues/1845\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-client#1845</a>)</li>\n            <li><strong>File uploads in Question Groups</strong> &#x2014; Multi-select file upload now works correctly inside a Question Group on the mobile app, enabling more flexible form structures. (<a href=\"https://github.com/avniproject/avni-client/issues/1803\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-client#1803</a>)</li>\n        </ul>\n    </div>\n</div>\n<div style=\"border: none; height: 2px; background: linear-gradient(90deg, transparent, #e0e0e0, transparent); margin: 40px 0;\"></div>\n<h2>Quicker Form Building</h2>\n<div style=\"display: flex; gap: 40px; align-items: center; padding: 40px; margin-bottom: 20px; background: #ffffff;\">\n    <div style=\"flex: 1; min-width: 250px;\">\n        <img src=\"/static/04e8fe1b313bc199a0e1498a34dc2019/dragdrop-inside-qg.gif\" alt=\"Dragging a question to reorder it inside a Question Group in App Designer\" style=\"width: 100%; height: auto; display: block; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);\">\n    </div>\n    <div style=\"flex: 1; min-width: 250px;\">\n        <p style=\"margin: 12px 0; line-height: 1.8;\">Form design just got more intuitive in App Designer:</p>\n        <ul style=\"margin: 12px 0; margin-left: 20px; line-height: 1.8;\">\n            <li><strong>Drag-and-drop reordering</strong> &#x2014; Rearrange questions within a Question Group by dragging, no need to delete and recreate (<a href=\"https://github.com/avniproject/avni-webapp/issues/1781\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-webapp#1781</a>)</li>\n            <li><strong>Bulk decision uploads</strong> &#x2014; Import multiple decisions at once instead of entering them one by one (<a href=\"https://github.com/avniproject/avni-webapp/issues/1789\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-webapp#1789</a>)</li>\n        </ul>\n    </div>\n</div>\n<div style=\"border: none; height: 2px; background: linear-gradient(90deg, transparent, #e0e0e0, transparent); margin: 40px 0;\"></div>\n<h2>Safer Setup and Reporting</h2>\n<div style=\"padding: 40px; margin-bottom: 20px; background: #ffffff;\">\n    <p style=\"margin: 12px 0; line-height: 1.8;\">Infrastructure improvements that make configuration more robust and reporting faster:</p>\n    <ul style=\"margin: 12px 0; margin-left: 20px; line-height: 1.8;\">\n        <li><strong>Move address levels between organizations</strong> — An organization's \"lowest address level\" setting can now be transferred without breaking references, making it safe to reorganize. (<a href=\"https://github.com/avniproject/avni-server/issues/871\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-server#871</a>)</li>\n        <li><strong>Metabase setup no longer slows down the main database</strong> — Initial configuration of Metabase now runs independently, making it faster and safer to spin up analytics. (<a href=\"https://github.com/avniproject/avni-server/issues/984\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-server#984</a>)</li>\n    </ul>\n</div>\n<hr>\n<h2>Minor enhancements</h2>\n<div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px;\">\n<div style=\"padding: 20px; border: 1px solid #e5e7eb; border-radius: 8px;\">\n<p style=\"font-weight: 700; margin: 0 0 8px 0;\">Improvements to Full custom cards</p>\n<p style=\"margin: 0; line-height: 1.7; color: #374151; font-size: 14px;\">Full custom cards are now more flexible and performant. (<a href=\"https://github.com/avniproject/avni-webapp/issues/1751\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-webapp#1751</a>)</p>\n</div>\n<div style=\"padding: 20px; border: 1px solid #e5e7eb; border-radius: 8px;\">\n<p style=\"font-weight: 700; margin: 0 0 8px 0;\">Faster saving of coded concepts</p>\n<p style=\"margin: 0; line-height: 1.7; color: #374151; font-size: 14px;\">Saving a coded concept with many answer options is now significantly faster. (<a href=\"https://github.com/avniproject/avni-server/issues/1022\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-server#1022</a>)</p>\n</div>\n<div style=\"padding: 20px; border: 1px solid #e5e7eb; border-radius: 8px;\">\n<p style=\"font-weight: 700; margin: 0 0 8px 0;\">Smoother self-signup for trials</p>\n<p style=\"margin: 0; line-height: 1.7; color: #374151; font-size: 14px;\">New trial organizations now experience a streamlined signup flow. (<a href=\"https://github.com/avniproject/avni-product/issues/1875\" target=\"_blank\" style=\"color: #0066cc; font-weight: 500;\">avni-product#1875</a>)</p>\n</div>\n</div>\n<hr>\n<h3>Share Feedback and Stay Updated!</h3>\n<p>Join our <a href=\"https://discord.gg/VRZQYdcyuG\">Avni community on Discord</a> to share your thoughts, ask questions, and get the latest updates.</p>\n<p>Need a walkthrough or have questions? Feel free to <a href=\"https://avniproject.org/\">schedule a demo call here</a>.</p>","frontmatter":{"date":"July 31, 2026","title":"Avni July Release","author":"Avni Team","description":"AI model updates without app releases, attendance improvements, faster form filling, and smarter form building. Here's what changed.","tags":["release"],"image":null},"fields":{"slug":"/blog/2026-07-31-july-release/"}}},"pageContext":{"id":"ac1a68c9-91f9-5e68-ae28-50df0574740c"}},"staticQueryHashes":["1175525803","4080856488"]}