Skip to content

Commit

Permalink
v2.0.0 Changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
twelch committed Mar 8, 2023
1 parent 33b3fcc commit 4eeb758
Showing 1 changed file with 83 additions and 35 deletions.
118 changes: 83 additions & 35 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,54 @@
# Changelog

## v2.0.0 (2023-03-08)

### :boom: Breaking Changes

* `planningAreaType` is now required in basic.json of `eez` or `other`
* `noun` in basic.json has become `planningAreaName`
* `nounPossessive` in basic.json has become `planningAreaPossessive`. If planningAreaTypes is `eez` then should match a valid `UNION` value in [eez_land_union_v3.json](https://github.com/seasketch/geoprocessing/blob/7b96e9f222220a35664153ac6a56b967f0d3624a/packages/geoprocessing/scripts/global/datasources/eez_land_union_v3.json)
* New `genRandomSketches` and `genRandomFeatures` scripts are now installed on init to `data/scripts`. New [install-data-scripts](https://github.com/seasketch/geoprocessing/blob/dev/packages/base-project/package.json#L24) and `reinstall-data-scripts` commands have been put in place for adding these to your project and updating them going forward. If you customize these scripts, it's up to you to merge in your changes after a reinstall of them.

### :rocket: New Feature / Improvement

* Add support for new starter templates that user can choose from on init.
* Add support for new `planningAreaType` of eez or other.
* Add EEZ selection to project `init` when `eez` planningAreaType used.
* Point to tutorials when project init completes
* Add suite of functions for automating preprocessors for standard use cases - genPreprocessor, genClipLoader, dataProviders/getFeatures, polygonPreprocessorSmokeTest. This can be simplified once migrate to ESM and dataproviders module can be merged with gp-core, removing unnecessary indirection.
* Update create:function to use genPreprocessor and offer EEZ selection to user when `eez` planningAreaType used.
* Update create:function to use calculateArea geoprocessing function as stub.
* add includeVirtualSketch helper for merging in additional sketch at runtime of geoprocessing function.
* Add genSketch and genSketchCollection scripts installed with base-project on init. Add `install-data-scripts` and `reinstall-data-scripts` commands to migrate and upgrade going forward.
* Add isPolygonFeatureArray helper
* Add genRandomPolygon and genRandomeSketch scripts in project-space
* Add additional supported metrics (percent) to Typescript types
* Update description of quantitative and categorical rasters in init question

### :bug: Bug Fix

* Address inability to extend ProjectClientBase in user-space because of file mismatch by switching to implementing ProjectClientInterface.
* Add getVectorDatasourceUrl and getExternalVectorDatasourceById methods to ProjectClientBase
* Address clip datasource returning no features on fetch.

### :house: Internal

* Migrate project init to use `base-project` package, with `template-blank-project` or `template-ocean-eez` starter templates being merged in by request of user.
* Split templates into `starter-template` and `add-on-template`.
* Drop nascent `clipDatasources` feature to replace with preprocessor generators.
* Add getExampleFeatures and getExampleFeaturesByName testing helpers
* Add prepare script to pre-commit, ensuring TS types are legit
* Update nvmrc to node 16
* Log copying of project config on init
* Add getPaths module that starts to centralize how relative paths get generated across CLI commands.

### :memo: Documentation

* Deeply updated wiki docs including tutorials, architecture, etc.

## v1.1.0 (2023-02-01)

#### :rocket: New Feature / Improvement
### :rocket: New Feature / Improvement

* Add metric group objective helpers - getMetricGroup, getMetricObjectives, getMetricGroupObjectiveIds
* HorizontalStackedBar: increase default title width and allow override
Expand All @@ -9,12 +57,12 @@
* getUserAttribute: add support for collections
* add workspace:shell command matching volume mount of cli use

#### :bug: Bug Fix
### :bug: Bug Fix

* Hard error if optional raster metadata file not created as part of transform
* Export VerticalSpacer component

#### :house: Internal
### :house: Internal

* Use new [gp-workspace](https://github.com/seasketch/docker-gp-workspace) built on Ubuntu
* Migrate GDAL commands during import and publish to use docker exec.
Expand All @@ -23,18 +71,18 @@
* Add markdown linter
* Remove extensions no longer used

#### :memo: Documentation
### :memo: Documentation

* Update gp landing readme
* Update default README.md and link to tutorials

## :tada: v1.0.0 (2022-09-30) :tada:

#### :boom: Breaking Changes
### :boom: Breaking Changes

* Upgrade AWS Cloud Development Kit (CDK) and SDK to version 2. If you haven't deployed a stack in your AWS Region, on your next deploy you will be asked to first run a `cdk bootstrap` command to upgrade. If your stack fails to deploy properly you may need to destroy and recreate it.

#### :rocket: New Feature / Improvement
### :rocket: New Feature / Improvement

* Add first-class support for project configuration (basic.json, datasources.json, metrics.json, objectives.json) with a new `ProjectClient` class for accessing everything in a central place.
* Add new commands for importing, reimporting, and publishing both vector and raster datasources with integrated precalculation (`import:data`, `reimport:data`, `publish:data`)
Expand All @@ -53,12 +101,12 @@
* Publish API docs (https://seasketch.github.io/geoprocessing/api/)
* Publish UI component library (https://seasketch.github.io/geoprocessing/storybook/?path=/story/components-card-card--simple)

#### :bug: Bug Fix
### :bug: Bug Fix

* Add workaround to run storybook in a vscode devcontainer
* Change table row sum check error to warning within a certain range, to not block report renders.

#### :house: Internal
### :house: Internal

* Improve COG and Flatgeobuf logging for easier debugging of sources
* Change some of the lambda environment variable names for clarity (e.g. SUBSCRIPTIONS_TABLE)
Expand All @@ -68,12 +116,12 @@

## v0.15.0 (2022-05-02)

#### :boom: Breaking Changes
### :boom: Breaking Changes

* Refactor Class Table making column configuration flexible and supporting multiple column types (including bar chart).
* Drop support for Node 12.x. AWS CloudFormation/Lambda currently uses 14.x. CI now tests only 14.x and 16.x

#### :rocket: New Feature / Improvement
### :rocket: New Feature / Improvement

* Upgrade to Geoblaze 1.3.2
* Upgrade to Webpack 4.46. Migrate start-client dev server script to use webpack serve CLI command.
Expand All @@ -100,14 +148,14 @@

* Add support for Objectives and tying them to Metrics

#### :bug: Bug Fix
### :bug: Bug Fix

* Lock CI npm version to npm@7.10.0 for now due to error with lockfile in newer version.
* Add check that report client exists in bundle before trying to access in App.tsx
* Add numeric-separator plugin for proper babel-loader handling of underscore
* Fix DataDownload dropdown stuck open on startup bug

#### :house: Internal
### :house: Internal

* overlapRaster - handle case of no overlapping pixels found, fallback to identify on nearest cell
* Add overlapGroupMetrics unit tests
Expand All @@ -118,7 +166,7 @@

## v0.14.0 (2022-02-27)

#### :rocket: New Feature / Improvement
### :rocket: New Feature / Improvement

* Refactor overlap gp toolbox - overlapArea, overlapFeatures, overlapRaster, overlapRasterClass, overlapGroupMetrics, booleanOverlap. Removes overlap for SketchCollection metrics. Remove old functions - areaByClass, calcAreaByClass, calcAreaByClassRaster, intersect, difference
* Add core Metrics support including aggregation - types, helpers, components
Expand Down Expand Up @@ -148,7 +196,7 @@
* Add beta canary release script to go with alpha, useful if alphas deployed from feature branch and commit number collision
* Consolidate fixtures and export for gp project use

#### :bug: Bug Fix
### :bug: Bug Fix

* Fix DataDownload component initial render
* Add babel-class-property plugin to fix build error
Expand All @@ -159,7 +207,7 @@
* Clean up socket handlers, thou shalt not ts-ignore!
* Lock flatgeobuf to version with commonjs

#### :house: Internal
### :house: Internal

* Add invalid sketch fixture for testing error conditions
* Consolidate util modules into helpers and export all helpers
Expand All @@ -170,11 +218,11 @@
* Consolidate on start-storybook name for consistency
* Refactor ReportDecorator and remove ReportCardDecorator

#### :memo: Documentation
### :memo: Documentation

## v0.13.0 (2021-07-27)

#### :rocket: New Feature
### :rocket: New Feature

* Add support for FlatGeoBuf datasets (flatgeobuf.ts)
* Add support for Cloud Optimized Geotiff raster (cog.ts)
Expand All @@ -195,25 +243,25 @@
* Add ts-node as direct dep for running user scripts
* Add logger module to replace direct use of console

#### :bug: Bug Fix
### :bug: Bug Fix

* Fix ResultsCard handling of no data returned by function.
* Stub 'fs' in webpack and storybook so that browser users of modules that use the filesystem module somewhere don't error. Even if the code being imported doesn't have a code path that uses fs it will still occur.
* drop esModule from file-loader to match storybook default behavior

#### :house: Internal
### :house: Internal

* Add sketch collections to unit tests, so not just single sketches
* Split out types.ts types into directory
* Add multiple versions of node to CI test strategy

#### :memo: Documentation
### :memo: Documentation

* Add short section on limitations of the framework and accuracy of geoprocessing algorithms.

## v0.12.1 (2021-06-08)

#### :rocket: New Feature
### :rocket: New Feature

* Add robust isSketch and friends providing type guard/narrowing ability
* Add robust helpers for fetching examples by sketch type and/or geometry type, utilizes the type guard functions to narrow type.
Expand All @@ -224,7 +272,7 @@
* Add unpackSketches helper to resolve ambiguous functions that accept Sketch or SketchCollection
* Add Generics support to Sketch and SketchCollection to allow user to constrain what types of Feature geometries the Sketch will contain.

#### :bug: Bug Fix
### :bug: Bug Fix

* Storybook broke, downgrade ts-loader to last known to work with webpack 4
* Fix top-level `p` tag warning for `ResultCard` component
Expand All @@ -234,7 +282,7 @@
* Filter out template sketch examples from example-loader (having gp prefix)
* Polyfill TextEncoder and TextDecoder for older versions of Node

#### :house: Internal
### :house: Internal

* Clean up osm-land pre script
* Remove unneeded memory settings in gp handlers now that there is sane default
Expand All @@ -247,21 +295,21 @@
* Consolidate example naming to hyphen
* Switch all helpers to named exports (really everything should be)

#### :memo: Documentation
### :memo: Documentation

* Improve point limit messaging when bundling features
* Update required install steps
* Clarify public projects

## v0.12.0 (2021-05-12)

#### :rocket: New Feature
### :rocket: New Feature

* Add support for project templates with 4 nascent templates included - gp-area, template-ocean-eez, gp-clip-bbox, gp-raster-stats (https://github.com/seasketch/geoprocessing/issues/41)
* Add Node 14.x support
* Added `start:client` CLI command. Serves the project Client bundle locally using Webpack dev server, allowing user to load and test the project reports using Message interface, just as SeaSketch platform does.

#### :bug: Bug Fix
### :bug: Bug Fix

* Resolve bug bundling gp-clip-bbox when linked geoprocessing library is used
* Resolve bug where geoprocessing library installed by init had fuzzy versioning, require exact version.
Expand All @@ -271,7 +319,7 @@
* Remove errant top-level monorepo dependencies
* Fix streaming false message in console output when deploying stack

#### :house: Internal
### :house: Internal

* Refactor CloudFormation stack, extracting GeoprocessingStack, renaming most resource names and Logical IDs. ***This will be a destructive change to all deployed stacks when upgrading, previous analysis results will be lost ***
* Migrate CloudFormation stack to Node 14x Lambda runtime
Expand All @@ -284,48 +332,48 @@
* Soup up the `create_example` script to create an example with async geoprocessing function as well as sync. Ensure it is buildable and deployable out of the box.
* Remove now unused IntersectHelper module.

#### :memo: Documentation
### :memo: Documentation

* Update docs on how to install templates
* Add README to geoprocessing package for people finding via NPM

## v0.11.1 (2021-03-25)

#### :bug: Bug Fix
### :bug: Bug Fix

* Migrate from CSS modules to styled-components. The CSS files were not being copied into the build so it was an opportunity to just consolidate on using SC
* Remove duplicate Checkbox identifier. Was only caught downstream by Webpack

## v0.11.0 (2021-03-25)

#### :rocket: New Feature
### :rocket: New Feature

* Add Toolbar component
* Add DataDownload component with CSV/JSON support. CSV has auto-flattening of arrays/objects using json2csv library. Downloaded files default to including report name, sketch name (if context available) and current ISO timestamp.
* Add DataDownloadToolbar convenience component
* Add data download toolbar to Table component for convenience

#### :bug: Bug Fix
### :bug: Bug Fix

* Replace useDropdown with Dropdown component based on popper.js and usePopper hook
* Fix bug with Jest not being able to interpret CSS module imports, they are now stubbed.

## v0.10.0 (2021-03-19)

#### :rocket: New Feature
### :rocket: New Feature

* Add new `Table` component
* Add new `FilterSelectTable` component, built on new `CheckboxGroup`
* Add geoprocessing function helpers - isPolygon, martinez, toJson
* Add sketch helpers - filterByBbox, getExampleSketchesByName

#### :bug: Bug Fix
### :bug: Bug Fix

* Add explicit jest dependency, was causing test failure with fresh install and latest npm
* Drop errant geoprocessing dependency from root
* Change lerna to use `npm ci` on publish so that prepublish steps don't produce local lockfile changes which stop the subsequent publish

#### :house: Internal
### :house: Internal

* Add `install` script, avoids user awareness of Lerna
`clean` scripts
Expand All @@ -337,7 +385,7 @@
* VSCode settings - Add geojson schema support for intellisense
* Stop hiding build and node_modules directories in vscode, they are useful enough to keep easy access to.

#### :memo: Documentation
### :memo: Documentation

* Add extensive notes for how to `npm link` a report to a local geoprocessing package, and troubleshoot issues
* Document how to do alpha releases
Expand Down

0 comments on commit 4eeb758

Please sign in to comment.