mirror of
https://github.com/farmOS/farmOS.git
synced 2024-02-23 11:37:38 +01:00
4.1 KiB
4.1 KiB
Changelog
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.
Unreleased
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.
Notable changes from farmOS 1.x
- 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.