Initial farmOS 2.x CHANGELOG.md.

This commit is contained in:
Michael Stenta 2021-02-04 09:07:59 -05:00
parent 04bf771d91
commit 876bb01b53
1 changed files with 77 additions and 0 deletions

77
CHANGELOG.md Normal file
View File

@ -0,0 +1,77 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.0.0-beta1] 2022-01-01
farmOS 2.x is a complete rewrite of farmOS for [Drupal 9](https://www.drupal.org/about/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](https://farmOS.org/model)
- [Areas are now types of Assets](https://farmos.org/development/api/changes/#areas)
- 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](https://farmos.org/model/logic/inventory/) for all
Asset types
- Improved [Asset location](https://farmos.org/model/logic/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](https://farmos.org/model/logic/group/) logic,
including member inheritence of group location
- Support for [Quantity types](https://farmos.org/model/type/quantity/#type)
- 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](https://www.lullabot.com/podcasts/lullabot-podcast/gin-admin-theme-drupals-future-ui)
admin theme
- Improved mobile support
- APIs, libraries, and developer experience (DX)
- [Documented API changes](https://farmos.org/development/api/changes/)
- Modernized RESTful API built on [JSON:API](https://jsonapi.org/)
- [JSON Schema](https://json-schema.org/) for all API resources
- 2.x API support in [farmOS.js](https://github.com/farmOS/farmOS.js) and
[farmOS.py](https://github.com/farmOS/farmOS.py) libraries
- Updated [farmOS-map](https://github.com/farmOS/farmOS-map) library based on
[OpenLayers](https://openlayers.org/)
- Improved APIs for [module builders](https://farmos.org/development/module/)
- Object-oriented architecture based on [Symfony](https://symfony.com/)
- Dependency management via [Composer](https://getcomposer.org/)
- Automated testing via [PHPUnit](https://phpunit.de/) and
[GitHub Actions](https://github.com/farmOS/farmOS/actions)
- Coding standards enforcement via [CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer)
- Feature branch previews via [Tugboat](https://www.tugboat.qa/)
- Hosting
- PostgreSQL database support (alongside MySQL, MariaDB, and SQLite3)
- [Automated migration](https://farmos.org/hosting/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](https://www.drupal.org/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.
[2.0.0-beta1]: https://github.com/farmOS/farmOS/releases/tag/2.0.0-beta1