All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Issue #3290929: Provide a farmOS map form element
- Issue #3290993: Add "Move asset" button next to the current location field
- Generate unique form IDs for quick forms #547
- Update Drupal core to 9.3.16 for SA-CORE-2022-011.
- Update Drupal core to 9.3.19 for SA-CORE-2022-012, SA-CORE-2022-013, SA-CORE-2022-014, and SA-CORE-2022-015.
2.0.0-beta5 2022-06-02
- Issue #3275161: Allow IMG tags in default text format
- Update toolbar logo spacing for gin beta #527
- Only show active plans by default #529
- Do not check php-geos requirement in the update phase #526
- Patch entity_reference_revisions module to fix upstream issue #3267304.
- Update Drupal core to 9.3.12 for SA-CORE-2022-008 and SA-CORE-2022-009.
- Update Drupal core to 9.3.14 for SA-CORE-2022-010.
2.0.0-beta4 2022-04-13
- Link from entities to their referenced terms and show entity views on taxonomy terms #458.
- Encourage GEOS PHP extension use #521
- Update farmOS-map to v2.0.4.
- Issue #3270561: Upgrade to gin beta
- Separate Docker image build from testing jobs in run-test.yml workflow #522
- Merge test and release workflows into a unified delivery workflow #523
- Improve fields documentation #505
- Only require a name to build map popups #515
- Issue #3269543 by paul121: Automatically remove prepopulated entities from quick forms
- Do not add views handlers for unsupported field types #512
- Allow importing KML with empty geometries #510
- Update Drupal core to 9.3.8 for SA-CORE-2022-005.
- Update Drupal core to 9.3.9 for SA-CORE-2022-006.
2.0.0-beta3 2022-03-03
- Document farmOS cron set-up: https://farmos.org/hosting/install#cron
- Issue #3253433: Provide a helper function for loading flag options and allowed values
- Issue #3260645: CSV Export in Quantities not functioning
- Issue #3262752: Record type menu items lose translations
- Fix access check for "Developer information" on sensors and data streams.
- Maps broken with Uncaught SyntaxError: Unexpected token '?' #501
- Asset autocomplete breaks when asset has parentheses at the end #502
- Issue #3265207: API keys directory failure prevents farm client creation
- Issue #3264564: No space rendered in field suffix
- Error: Call to a member function get() on null in ContentEntityGeometryNormalizer.php on line 64 #493
- Update Drupal core to 9.3.6 for SA-CORE-2022-003 and SA-CORE-2022-004.
2.0.0-beta2 2022-01-19
- Add a Planting quick form module.
- Create a dedicated section in farmOS modules form for "Quick form modules".
- Provide a
quantity_measure_options()
helper function. - Localization module (
farm_l10n
) for enabling translations. - "Other" Structure type
- Open the Gin toolbar by default #470
- Enforce that the changelog is updated with every pull request #469
- Do not include archived assets in metrics count.
- Remove "administer farm map" from Manager role permissions.
- Add allow-plugins config #467
- Issue #3224663: Type-specific CSV exports do not respect exposed filters
- Improvements to sensor and data stream developer info #491
- Data is not deleted when a data stream entity is deleted #488
- Data does not immediately appear when posting to data streams #484
- Route "entity.data_stream.collection" does not exist. #486
- Fix Quick Form help text so that it works with new multi-route approach.
- Remove entity ID from entity autocomplete form elements.
- Data stream and notification permissions are not granted to managed roles. #479
- Sort locations by name, using natural sort algorithm.
- Quantity module breaks config_translation #480
- Log categories are not migrated to v2 #481
- Make local action buttons translatable.
- Fix permission for map settings form (/farm/settings/map).
- Patch
jsonapi_schema
module to fix Issue #3256795: Float fields have a null schema - Allow all three database tests to run even when one fails (workaround for Issue #3241653).
- Run SQLite3 tests in sequence instead of in parallel (another workaround for Issue #3241653).
- Update Drupal core to 9.3.3 for SA-CORE-2022-001
- Update Simple OAuth module to 5.0.6 for SA-CONTRIB-2022-002
2.0.0-beta1 2022-01-01
farmOS 2.x is a complete rewrite of farmOS for Drupal 9.
This brings many improvements, modernizations, and new features. The following
is a brief summary of notable changes from the 1.x branch of farmOS (aka
7.x-1.x
for Drupal 7).
Detailed release notes will be included in this file with each new release moving forward.
- Data model
- Documented data model
- Areas are now types of Assets
- New Asset types: Land, Structure, Water, Material, Seed
- Planting Assets are renamed to Plant
- New Log types: Lab test (merged Soil and Water tests)
- Inventory tracking for all Asset types
- Improved Asset location logic, including the ability to designate Assets as "fixed" (with intrinsic geometry) and/or "locations" (allowing other Assets to be moved to them)
- Improved Group membership logic, including member inheritence of group location
- Support for Quantity types
- Revisions for tracking changes to records
- Improved "Data streams" framework for sensors and other time-series data collection
- ID tags on all Asset types
- Flags can be limited by record type
- User interface/experience (UI/UX)
- Improved location hierarchy drag-and-drop editor, including ability to edit sub-hierarchies
- Improved KML/KMZ importer for bulk Land Asset creation
- Geocoding of GeoJSON and GPX files (in addition to KML/KMZ) on individual Assets and Logs
- Farm settings UI with simplified module installer
- Gin admin theme
- Improved mobile support
- APIs, libraries, and developer experience (DX)
- Documented API changes
- Modernized RESTful API built on JSON:API
- JSON Schema for all API resources
- 2.x API support in farmOS.js and farmOS.py libraries
- Updated farmOS-map library based on OpenLayers
- Improved APIs for module builders
- Object-oriented architecture based on Symfony
- Dependency management via Composer
- Automated testing via PHPUnit and GitHub Actions
- Coding standards enforcement via CodeSniffer
- Feature branch previews via Tugboat
- Hosting
- PostgreSQL database support (alongside MySQL, MariaDB, and SQLite3)
- Automated migration from 1.x to 2.x
- Improved performance with lazy-loading code and caching options
- Improved support for translation/localization (l10n)
- Security
- Support from the Drupal Security Team
- Drupal 9 will be supported (with security updates) until November 2023.
- Drupal 10 will be released mid-2022. farmOS will be prepared to update as soon as possible. This process will be trivial compared to the upgrade from Drupal 7, which required a complete refactor of the codebase. By comparison, updating from Drupal 9 to 10 will simply involve updating deprecated code.