Jpegger Web - Added a Send to Leads Online button on the image page, so an image can be sent right away instead of waiting for the nightly batch. - Images that have already been sent show Send Again along with the date of the previous send, so a resend is always deliberate. - When Jpegger declines a Leads Online send, the actual reason is now shown instead of a generic connection message. - Leads Online upload reports now highlight failed and skipped uploads with colored status badges, making problem uploads easy to spot. - Added a failure count to the Leads Online report header and a Skipped option to the status filter. - Leads Online reports now show only locations belonging to your company, and the dashboard failure count now matches the report. - Improved Leads Online report loading speed, and added an explanation when the report is empty because no locations are set up. - Fixed image downloads so one unavailable image no longer produces an empty or unreadable ZIP file; the remaining images are still included. - Replaced the Camera Types and Camera Groups search dropdowns with search boxes that match on any part of a name. - Added a Location filter to Camera Groups, and links between the Cameras, Camera Types, and Camera Groups pages. - Camera Types and Camera Groups are now grouped under a Cameras menu in the sidebar for easier navigation. - Camera user names and passwords containing characters that break a camera's connection are now flagged on the form instead of failing later. - Fixed an issue where changing a location's Leads Online store ID could silently fail to update its cameras. - Removed public self-registration; user accounts are now created by an administrator. Users can still edit their own account. - Improved reliability of the camera, image, and Leads Online pages when Jpegger services are slow or unavailable. Jpegger API - Added support for sending a single image to Leads Online on demand, recorded in the upload report alongside batch sends. - Camera user names and passwords are now validated to reject characters that would break a camera's connection.