v1.2.2.0
Pre-release
Pre-release
What's Changed
- API development workflow proposal by @hotzevzl in #180
- feat(api): calculate planning units protection level - submit job to queue by @kgajowy in #176
- feat(api): analysis: push job to bullmq queue by @kgajowy in #175
- Legend && Lock upload geojson by @mbarrenechea in #181
- feat(api): protect api-events with api-key by @kgajowy in #183
- fix(geoprocessing): bring e2e test to valid state by @kgajowy in #184
- fix missing envvars in gh actions by @hotzevzl in #188
- Legend types and maxHeight by @mbarrenechea in #185
- add planning unit vector tile preview - rebased by @hotzevzl in #182
- avoid overwriting evn vars with Make vars before recursive make exec by @hotzevzl in #190
- chore(api): scenario cost surfaces shell by @kgajowy in #174
- feat(geoprocessing): api-events wrapper by @kgajowy in #187
- feat(geoprocessing): worker module with example by @kgajowy in #186
- Refactior File Service by @alexeh in #192
- feat(api): analysis: cost-surface: validate pu-ids by @kgajowy in #193
- feat(api): cost-surface: application logic by @kgajowy in #196
- chore(geoprocessing): wdpa - update entity to reflect current model s… by @kgajowy in #201
- fix(geo): e2e specs by @kgajowy in #194
- feat(scenarios): add cost template controller by @Dyostiq in #200
- feat(api): product testing with cypress by @kgajowy in #198
- feat(geoprocessing): allow workers to use di by @kgajowy in #202
- Feature/api/marxan 196 migrate for bbox by @aagm in #199
- Docs by @mbarrenechea in #205
- keep going when single test runs fail, but exit make signaling error by @hotzevzl in #204
- Run modal by @mbarrenechea in #195
- MARXAN - 291 Users should be able to upload shapefiles of scenario cost surfaces - update cost in database by @kgajowy in #206
- MARXAN-416 - Project's specific WDPA from shapefile by @kgajowy in #203
- chore(geoprocessing): move cost surface processing from api to geo by @kgajowy in #211
- refactor(api): transform project to monorepo by @Dyostiq in #208
- configure volume for sharing of uploaded files between api and geoprocessing service (development environments) by @hotzevzl in #210
- feat(geoprocessing): protected-areas: geo extractor: emit api events by @kgajowy in #212
- ADR for file uploads by @hotzevzl in #207
- refactor: prefix apps by @Dyostiq in #216
- refactor: allow to pick up entities from shared libraries by @kgajowy in #220
- Project new: scroll by @mbarrenechea in #223
- (chore) add chatops step (post to slack) by @hotzevzl in #227
- chore: fix some leftover after projects merge by @Dyostiq in #217
- feat(api): projects: deny uploading shapefile for non-existing project by @kgajowy in #218
- Cost Surface - shapefile converting & extracting PU cost/id by @kgajowy in #219
- feat(geoprocessing): cost-surface: emit api-events on job result by @kgajowy in #226
- refactor: create library for scenario planning units by @kgajowy in #221
- feat(geoprocessing): scenario planning units: use integrity rule by @kgajowy in #229
- test(geoprocessing): cost-surface: integration test by @kgajowy in #230
- feat(api): submit cost-surface job by @kgajowy in #231
- New layer manager by @mbarrenechea in #233
- feature MARXAN-399 validate uploaded shapefile by @alexeh in #209
- Disable generate reports on test success by @alexeh in #236
- refactor: move admin_regions entity to shared lib by @kgajowy in #232
- Home by @mbarrenechea in #235
- Header: my projects link by @mbarrenechea in #242
- 404 page by @mbarrenechea in #243
- feat(api): projects: verify admin regions and assign bbox by @kgajowy in #234
- MARXAN - 448 Cost surface - scenarioId guard by @kgajowy in #241
- fix(api): projects: update snapshots after bbox inclusion in response by @kgajowy in #247
- fix(api): drop extent trigger on bbox by @Dyostiq in #251
- refactor(api): analysis: planning units refactor part 1 by @kgajowy in #245
- refactor: move api-events to shared lib by @kgajowy in #246
- feat(api): analysis: pu lock status - api events by @kgajowy in #249
- feat(api): scenario's job status - API by @kgajowy in #244
- ci: enable geoprocessing unit tests by @kgajowy in #248
- Project new by @mbarrenechea in #222
- refactor(api): analysis: move job input/queue name into shared lib by @kgajowy in #250
- [MARXAN-451] remove extent from projects by @Dyostiq in #252
- Feature/api/marxan 333 vl migrate from proxy controller by @aagm in #256
- addressed issues with test error in api by @aagm in #260
- refreshed analysis and examples ntbks by @tamaramegan in #239
- update architecture charts by @hotzevzl in #257
- feat(geoprocessing): create cost surface template in the geoprocessin… by @Dyostiq in #238
- Scenarios infinite query by @mbarrenechea in #263
- Project: Organization fetched from API by @mbarrenechea in #268
- fix a few links in the architecture chart by @hotzevzl in #270
- test(api): scenario-features: pre-gap data formatting & enable spec by @kgajowy in #259
- feat(api): projects: jobs status by @kgajowy in #253
- feat(geoprocessing): pu-inclusion: process geojson by @kgajowy in #258
- Features filters by @mbarrenechea in #276
- feat(api): allow to get scenarios solutions results by @kgajowy in #264
- feat(api): scenarios: cost-sufrace marxan data by @kgajowy in #262
- feat(geoprocessing): add min/max pu area size in admin regions by @Dyostiq in #272
- fix(api): fix swagger doc and remove openapi doc by @Dyostiq in #265
- feat(api): add name/desc search for scenarios by @Dyostiq in #266
- test(api): improve stability of queue tests by @Dyostiq in #267
- Project scenarios filters by @mbarrenechea in #279
- feat(geoprocessing): add min/max pu area size in countries by @Dyostiq in #280
- feat(marxan-input): add marxan input definitions by @kgajowy in #269
- Fix/api/marxan 479 fixed size calc by @aagm in #281
- With BBox present there is no need to simplify. by @aagm in #283
- Max min area size by @mbarrenechea in #284
- Solutions section main architecture by @pablopareja in #271
- [MARXAN-446] shapefile project planning area by @Dyostiq in #286
- feat: marxan runner by @kgajowy in #277
- Help by @mbarrenechea in #289
- Data/marxan 469 diffmap by @tamaramegan in #295
- Feature/api/marxan 480 scenario pu vl by @aagm in #290
- test(api): add e2e test for setting and getting marxan input by @Dyostiq in #294
- Forgot password by @mbarrenechea in #296
- feat(marxan-runner): pipe assets to input files by @kgajowy in #293
- Cost surface by @mbarrenechea in #301
- feat(marxan-runner): use x-api-key when downloading assets by @kgajowy in #304
- feat(marxan-input): expose base endpoint for spec.dat input file by @kgajowy in #306
- feat(scenarios): allow to get input files via x-api-key by @kgajowy in #300
- Feat/marxan 455/about [MARXAN-455] by @anamontiaga in #302
- Feat/marxan 455/marxan 458/partners [MARXAN-458] by @anamontiaga in #310
- Solutions table [MARXAN-394] by @pablopareja in #287
- refactor geofeatures properties query by @hotzevzl in #303
- feat(api): implement finding planning area for project by @Dyostiq in #291
- feat(api): assign projects to planning areas by @Dyostiq in #292
- feat(marxan-run): expose endpoints for starting/cancelling marxan execution by @kgajowy in #311
- feat(marxan-run): allow to cancel running process by @kgajowy in #308
- refactor(api): move from purify-ts to fp-ts, fix swagger docs by @Dyostiq in #298
- [MARXAN-446] planning area assigning by @Dyostiq in #299
- feat(geoprocessing): remove old planning area when project reassigned by @Dyostiq in #317
- feat(marxan-run): serve zipped output files by @kgajowy in #319
- feat(marxan-run): zip input & output directories by @kgajowy in #316
- output entities migration ready + fake data for outputs by @aagm in #305
- feat(scenario): input.dat cloud information by @kgajowy in #324
- Geofeatures recipes by @mbarrenechea in #320
- update eslint stuff to latest releases by @hotzevzl in #321
- Feat/app/carousel [MARXAN-517] by @anamontiaga in #325
- feat(scenarios): allow to get puvspr.dat file by @kgajowy in #328
- feat(scenarios): allow to get spec.dat file by @kgajowy in #329
- feat(scenarios): allow to get bound.dat file by @kgajowy in #330
- Community by @mbarrenechea in #327
- Help: Projects & Project detail by @tamaramegan in #322
- feat(marxan-run): return parsed output by @kgajowy in #332
- refactor(api): rewrite queue module by @Dyostiq in #314
- feat(api): add running scenario through queue by @Dyostiq in #315
- PU grid layer by @mbarrenechea in #297
- feat(api): pass assets to marxan run job by @Dyostiq in #323
- feat(geoprocessing): add worker to run and cancel marxan by @Dyostiq in #326
- [MARXAN-415] Chore/user journeys by @tamaramegan in #274
- feat(marxan-runner): use output directory provided via input.dat by @kgajowy in #331
- feat(api): add q-search in projects by @Dyostiq in #336
- feat(front): upload shapefile on new project [MARXAN-519] by @anamontiaga in #333
- text to info buttons by @tamaramegan in #343
- fix(front): partners updates [MARXAN-539] by @anamontiaga in #345
- Create project help by @tamaramegan in #340
- add sensible timeout for product e2e tests on GH Actions by @hotzevzl in #348
- feat(front): meta-tags component on public pages [MARXAN-530] by @anamontiaga in #338
- refactor(scenarios): input files single module by @kgajowy in #347
- [MARXAN-482, MARXAN-483] geo features: POST and PUT interface by @hotzevzl in #288
- Fix/e2e product testing by @kgajowy in #354
- feat(scenarios): create input zip archive from files by @kgajowy in #351
- feat(front): meta icons [MARXAN-558] by @anamontiaga in #353
- feat(front): privacy policy and terms of use pages [MARXAN-559] by @anamontiaga in #356
- MARXAN-521 -> MARXAN-532: dump output solutionmatrix by @kgajowy in #344
- MARXAN-521 MARXAN-525 -> most diff solutions by @kgajowy in #355
- fix(scenario): planning units lockin change by @kgajowy in #358
- provide temporary column default by @hotzevzl in #359
- feat(geoprocessing): report progress of the marxan run by @Dyostiq in #341
- Feature/fix events by @Dyostiq in #346
- Legend: sortable options by @mbarrenechea in #361
- feat(api): expose progress of the run to user in job status by @Dyostiq in #349
- refactor: move scenario features data to shared lib by @kgajowy in #363
- feat(front): register workflow improvements [MARXAN-560] by @anamontiaga in #357
- selection of pu lock status should work with single features by @hotzevzl in #362
- included Vector tile definitions by @aagm in #366
- Carousel: react flicking by @mbarrenechea in #364
- feat(front): matrix legend type [MARXAN-573] by @anamontiaga in #368
- Adjust planning units: API connection by @mbarrenechea in #339
- feat(scenarios): allow to get all planning-units with their lock-status by @kgajowy in #370
- [MARXAN-521 / MARXAN-533] Dump output_mvxxxx.csv to geo.output_scenarios_features_data (new table) by @kgajowy in #367
- fix planning area assignment by @Dyostiq in #352
- feature(marxan-run): remove hardcoded output directory name by @kgajowy in #374
- feat(api): skip bound.dat file if no blm given or zero blm by @Dyostiq in #350
- feat: order imports eslint configs by @anamontiaga in #373
- feat(front): duplicate projects and scenarios [MARXAN-599] by @anamontiaga in #375
- update documentation with Azure Cloud notes by @hotzevzl in #380
- feat(api): persist job results by @Dyostiq in #360
- feat(geoprocessing): return bbox and pu sizes during shapefile creation by @Dyostiq in #365
- temporarily limit response to 5 elements to mimic eventual behaviour by @hotzevzl in #381
- Feature/help scenario by @tamaramegan in #372
- [MARXAN-611] fix marxan run by @Dyostiq in #382
- front(fix): published projects planning area + contributors [MARXAN-604] by @anamontiaga in #385
- feat(geoprocessing): store output of failed marxan runs by @Dyostiq in #383
- Analysis: persists inclusion exclusion by @mbarrenechea in #376
- feat(api): allow to overwrite input param through scenario by @Dyostiq in #384
- front: add number of features to scenario settings [MARXAN-600] by @anamontiaga in #392
- Landing page redesign by @pedrogpimenta in #391
- Run scenario by @mbarrenechea in #377
- documentation for scenario features (geoprocessing) by @hotzevzl in #342
- front: add data on upload shapefile when create project [MARXAN-542] by @anamontiaga in #400
- About page redesign by @pedrogpimenta in #394
- Improve Buttons design by @pedrogpimenta in #395
- Vector layers for features and outputs PUs by @aagm in #399
- Community page redesign by @pedrogpimenta in #398
- Feat(front): solutions details [MARXAN-606] by @anamontiaga in #378
- feat(scenario-specification): main flow of changing scenario specification by @kgajowy in #371
- fix setting lock status of scenario pus via ids by @hotzevzl in #401
- attach planning units to scenario by @hotzevzl in #386
- PU grid by @mbarrenechea in #393
- calculate default pu lock status by @hotzevzl in #387
- Add initial Deno API bot by @hotzevzl in #388
- MVP linking of plain features to scenario by @hotzevzl in #396
- improve puvspr.dat queries by @hotzevzl in #397
- process inclusion/exclusion byId and byGeoJson as union by @hotzevzl in #407
- More layers and lock status improvements by @mbarrenechea in #410
- added images, corrected paragraphs and added some new help-beacons by @tamaramegan in #404
- Front(feat): analytics settings [MARXAN-608] by @anamontiaga in #402
- feat(specification): submit specification - application layer by @kgajowy in #403
- feat(scenario-specification): assign specification candidate by @kgajowy in #409
- add missing input.dat setting by @hotzevzl in #414
- avoid possible division by zero by @hotzevzl in #419
- planning units are not linked to scenario for l1 and l2 admin areas by @hotzevzl in #421
- selection from geojson over pick by by @hotzevzl in #413
- fix queries in scenario/pu linker to properly support custom planning areas by @hotzevzl in #422
- feat(scenario-specification): activate specification candidate by @kgajowy in #416
- MARXAN-545 - MARXAN-642 & MARXAN-652 by @kgajowy in #417
- Legend by @mbarrenechea in #425
- feat(scenario): remove hardcoded values from scenario solutions by @kgajowy in #428
- feat: enqueue processing jobs and attach worker by @Dyostiq in #408
- front(fix): enable get features by @anamontiaga in #427
- Feature/data/rearrange data for demos by @aagm in #405
- Front(feat): tabs dependency [MARXAN-601] by @anamontiaga in #411
- Adjust planning units: loaders and timeouts to clean the react query … by @mbarrenechea in #435
- fix bugs when handling empty feature specs and when no features intersect the planning area by @hotzevzl in #434
- MARXAN-545 MARXAN-644 specification repository by @kgajowy in #423
- Front(feat): scenario edit/show main structure to scenario by @anamontiaga in #433
- feat(api): add canceling to processing jobs by @Dyostiq in #426
- feat(specification): add raw request and persist all missing fields by @kgajowy in #436
- Feat(front): solutions updates [MARXAN-664] by @anamontiaga in #424
- front(feat): scenario detail [MARXAN-637] by @anamontiaga in #437
- filter scenario results by scenario id by @hotzevzl in #439
- paginate scenario features by @hotzevzl in #446
- Project map by @mbarrenechea in #444
- fix(specification): add ids of underlying entities so that save reuse… by @Dyostiq in #448
- Run: cancel by @mbarrenechea in #451
- Front(fix): best-solution [MARXAN-666][MARXAN-650] by @anamontiaga in #450
- feat(api): add copy operation by @Dyostiq in #447
- feat(scenario-specification): proceed to activating specification once its ready by @kgajowy in #442
- fix(specification): avoid unhandled rejection when submitting specification fails by @kgajowy in #441
- WDPA: read them from scenario instead of store in certain cases by @mbarrenechea in #452
- first round of text changes by @tamaramegan in #453
- fix(api): return empty specification when not found by @Dyostiq in #456
- fix(api): return last updated specification instead of active one by @Dyostiq in #457
- [MARXAN-548] split operation by @Dyostiq in #455
- Features and async jobs by @mbarrenechea in #459
- Bots: improvements by @mbarrenechea in #462
- second round of text changes by @tamaramegan in #460
- Refactor PU grid layer by @mbarrenechea in #463
- Revert "Refactor PU grid layer" by @anamontiaga in #464
- Front(feat):opacity manager [MARXAN-680][MARXAN-682] by @anamontiaga in #461
- Sections: shared component. Scroll implemented by @mbarrenechea in #465
- Project show: layer settings by @mbarrenechea in #467
- some more text changes by @tamaramegan in #468
- Scenario planning units pa area calculations worker by @aagm in #440
- Feat/published project map [MARXAN-683] by @anamontiaga in #477
- fix(marxan-run): kill downloading assets when run is cancelled by @kgajowy in #475
- feat(scenarios): include protected by default flag by @kgajowy in #471
- Save only with changes by @mbarrenechea in #479
- Fix: meta icons, manifest and browserconfig by @mbarrenechea in #484
- disable running CI action on push and on schedule by @hotzevzl in #485
- [MARXAN-701] do not process draft specs by @Dyostiq in #483
- gap analysis (finalise pre-run, add post-run) [MARXAN-550] by @hotzevzl in #481
- feat(projects): find returns only projects created by user by @kgajowy in #480
- Front(fix): UI hot fixes [MARXAN-689] by @anamontiaga in #482
- Gap analysis by @mbarrenechea in #490
- add feature metadata to gap data by @hotzevzl in #491
- Front - Responsive by @mbarrenechea in #494
- feat(projects): allow projects to be public by @kgajowy in #488
- fix(api): fix job statuses for events with strings by @Dyostiq in #495
- Post Gap Analysis: filter by runId by @mbarrenechea in #496
- batch output data delete/insert operations by @hotzevzl in #500
- fix(api): keep only current specification data in the table for proce… by @Dyostiq in #493
- Loader: size by @mbarrenechea in #501
- Front(feat):coming soon features [MARXAN-667] by @anamontiaga in #498
- Front(fix): Percentage formatter by @anamontiaga in #502
- Front - Error page by @mbarrenechea in #506
- feat(api): add cost range endpoint by @Dyostiq in #503
- fix(scenario): pu.dat should apply default values by @kgajowy in #507
- fix(geo-features): move stored project to params by @kgajowy in #505
- fix(marxan-run): score/cost values should be persisted by @kgajowy in #510
- fix(geoprocessing): use mapshaper in a separate process by @Dyostiq in #509
- fix(api): reshape specification features persistence by @Dyostiq in #508
- fix(marxan-run): remove old summaries of a scenario run by @kgajowy in #511
- Data/fix/improve features performance by @aagm in #486
- Front(fix) texts and performance by @anamontiaga in #512
- Cost surface: use values from endpoint in layer and legend by @mbarrenechea in #513
- Feature shapefile upload by @ikas in #445
- Front(feat) pre gap-analysis highlight layer by @anamontiaga in #515
- bots for demo users+projects [MARXAN-674] by @hotzevzl in #519
- fix(marxan-run): in case of any error, handle it and use failed-reason by @kgajowy in #516
- 'latest text changes from file' by @tamaramegan in #517
- Front(feat): upload modal [MARXAN-694] by @anamontiaga in #489
- feature(api): cache calculated areas by @Dyostiq in #518
- feat(api): mark scenario run as failed while canceled by @Dyostiq in #521
- perf(features): reduce features results extending time during search by @kgajowy in #523
- fix(marxan-run): performance issues by @kgajowy in #520
- fix(protected-areas): project's custom pa shapefile by @kgajowy in #522
- feat(scenario-pu): allow to reset lock status to default by @kgajowy in #532
- feat(custom-pu-grid): custom pu grid geometry by @kgajowy in #525
- feat(projects): include custom protected areas by @kgajowy in #530
- fix(scenarios): provide project-id when updating scenario so that wdpa is assigned correctly by @kgajowy in #534
- fix(tiles): include project-id in wdpa queries by @kgajowy in #533
- Front(feat): upload custom features [MARXAN-677] by @anamontiaga in #469
- fix(scenarios): wdpa filters by @kgajowy in #504
- feat(api): aggregate features in spec.dat and puvspr.dat by @Dyostiq in #535
- Features: split and strat spec by @mbarrenechea in #538
- feat(features): split affects map by @mbarrenechea in #540
- fix(cost-surface): consume uploaded file by @kgajowy in #537
- feat(api): include async job status in all relevant endpoints by @kgajowy in #539
- fix(scenarios): include pagination meta back by @kgajowy in #544
- bump up e2e CI job timeout to 30m by @hotzevzl in #545
- docs: async job status by @kgajowy in #543
- feat(marxan-run): calculate most-different solutions v2 by @kgajowy in #547
- [MARXAN-791] fix missing constraint leading to updating of rows that don't belong to the scenario being processed by @hotzevzl in #548
- feat(async-jobs): add event date by @kgajowy in #550
- feat(marxan-run): mark best solution by @kgajowy in #549
- fix(features): fix intersection and selection for splitting species by @kgajowy in #552
- Feature/async jobs by @mbarrenechea in #554
- fix(features): split features properly use subsets prop values by @kgajowy in #553
- fix(marxan-run): correctly assign pu usage by @kgajowy in #555
- FE: Comparison layer by @mbarrenechea in #557
- feat(scenario-features): request intersection with pu calculation by @kgajowy in #531
- Async jobs: remove unnecessary redux save by @mbarrenechea in #559
- increase max_stack_depth for postgresql (geo) by @hotzevzl in #563
- feat: add event for planning unit geom calculation by @Dyostiq in #542
- fix(api): handle NotFoundException when event is not found by @Dyostiq in #569
- front(fixes): wdpa preview layer + validation run scenario advanced settings by @anamontiaga in #566
- front(feat): reset-password [MARXAN-881] by @anamontiaga in #567
- fix(projects): can't update project info by @Sikora00 in #564
- refactor(geo-features): remove unused code by @kgajowy in #565
- feat(planning-unit-grid): derive planning area from custom grid by @kgajowy in #570
- fix(geo-features): searching via name should include project-id by @kgajowy in #572
- Project: async job status by @mbarrenechea in #568
- feat: post gap analysis layer by @mbarrenechea in #578
- deps: bump mapshaper to fix dropping data issue by @kgajowy in #581
- docs(projects): hld of project publishing by @Sikora00 in #571
- docs(cloning): add brief, hld and development plan by @kgajowy in #551
- docs(projects): creation and shapefiles approach by @kgajowy in #579
- refactor(planning-units): setting lock status is now post 🪄 by @kgajowy in #584
- feat(projects): update project is ready by @Sikora00 in #582
- [MARXAN-235] password recovery by @Dyostiq in #574
- fix: migrations by @kgajowy in #587
- libbot: add support for number of runs by @hotzevzl in #590
- feat(features): allow to search via tag by @kgajowy in #591
- docs(custom-pu-grid): initial hld by @kgajowy in #526
- fix(project): project readiness should use real geometry id by @kgajowy in #592
- feat(gap-analysis): search over features by @kgajowy in #589
- details of maps - what should be visible on each by @hotzevzl in #588
- avoid dropped proxy connections by @hotzevzl in #583
- refactor(protected-area): move the protected-areas away from project by @kgajowy in #575
- fix(shapefile): spaces in name no longer cause the crash by @kgajowy in #593
- feat(clone): export domain/app by @kgajowy in #560
New Contributors
- @pedrogpimenta made their first contribution in #391
- @ikas made their first contribution in #445
- @Sikora00 made their first contribution in #564
Full Changelog: https://github.com/Vizzuality/marxan-cloud/commits/v1.2.2.0