AgriTheory Newsletter: December 2025

December 2025

Berlin, NH

Cloud Storage

Recent releases of Cloud Storage have focused on reliability, storage path improvements, and expanded file handling capabilities. A significant update introduced a new default S3 path strategy along with a bench command to migrate existing files from legacy paths to the new format, with a legacy compatibility mode available for installations that need backward-compatible key structures. The s3_key field now supports a configurable data length to prevent truncation of longer S3 key paths. Additional enhancements include file versioning support — where uploading a file with a matching content hash links it to an existing File record instead of creating a duplicate — as well as preview support for PowerPoint, OpenDocument Presentation, and Keynote file types.

Several important bug fixes have also been delivered. An issue was resolved where deleting a File did not first remove its associated File Association records, leaving orphaned child table rows in the database. Validation of the associated_doc field and the s3_key assignment for email attachments were also corrected, ensuring those files are properly stored and retrievable from S3. A fix was additionally made to allow files to be attached from the library within the Add Attachments dialog.


Inventory Tools

Inventory Tools has seen a series of meaningful updates across several recent releases. A new Workstation Operating Cost Doctype was introduced, enabling per-workstation cost tracking that integrates directly into Stock Entry and Work Order processing, complete with an enable/disable toggle in the UI and a fallback to the previous cost system. Faceted search functionality was also restored, and the plant floor section was removed from the application. A name key was added back to all custom JSON files to prevent a key error when running bench migrate through the customize.py script.

Follow-up fixes to the Workstation Operating Cost feature corrected how time_in_mins is sourced — now pulled from Job Card with a fallback to Work Order — removed rounding that was zeroing out small per-unit costs, and removed an incompatible super() call. Override tracking changes were also implemented, and a code-duplication detection workflow was added and integrated into the custom JSON files.


Test Utils

Test Utils received updates focused on database partition management and tooling improvements. Support was added for creating future partitions while skipping any that already exist, with a configurable years-ahead setting and a before_migrate hook to automate partition setup during migrations. Command line argument support was also added to the bylines pre-commit hook, and Poetry documentation was updated to clarify required fields in pyproject.toml.

A targeted bug fix followed, correcting the clean_customized_doctypes function to preserve the name and idx keys that are required for successful reinstallation of customized Doctypes.

Please contact us for corrections, additions, questions, or to request a topic.

© 2026 AgriTheory. All Rights Reserved.