From ac94a409790b904d70c4529a22504c027217ed1f Mon Sep 17 00:00:00 2001 From: Anders Kane Date: Tue, 31 Mar 2026 11:53:06 -0400 Subject: [PATCH 1/5] feat(featureserver): add indexes default for layer metadata --- .changeset/shiny-lies-arrive.md | 5 +++++ packages/featureserver/CHANGELOG.md | 6 ------ packages/featureserver/package.json | 2 +- .../helpers/feature-layer-metadata.spec.js | 7 +++++++ .../src/helpers/table-layer-metadata.spec.js | 21 +++++++++++++++++++ .../featureserver/src/metadata-defaults.js | 1 + ...geoservice-client-requests-no-geom.spec.js | 2 ++ test/helpers/client-response-fixtures.js | 2 ++ 8 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 .changeset/shiny-lies-arrive.md diff --git a/.changeset/shiny-lies-arrive.md b/.changeset/shiny-lies-arrive.md new file mode 100644 index 000000000..2248af65e --- /dev/null +++ b/.changeset/shiny-lies-arrive.md @@ -0,0 +1,5 @@ +--- +'@koopjs/featureserver': minor +--- + +Add indexes default for feature layer metadata diff --git a/packages/featureserver/CHANGELOG.md b/packages/featureserver/CHANGELOG.md index 83f2997e8..4084b844d 100644 --- a/packages/featureserver/CHANGELOG.md +++ b/packages/featureserver/CHANGELOG.md @@ -1,11 +1,5 @@ # @koopjs/featureserver -## 10.0.0 - -### Major Changes - -add 'indexes' to layer metadata defaults - ## 9.2.1 ### Patch Changes diff --git a/packages/featureserver/package.json b/packages/featureserver/package.json index 8128c7f4d..66ec6ee11 100644 --- a/packages/featureserver/package.json +++ b/packages/featureserver/package.json @@ -1,6 +1,6 @@ { "name": "@koopjs/featureserver", - "version": "10.0.0", + "version": "9.2.1", "description": "*An open source implementation of the GeoServices specification*", "main": "src/index.js", "directories": { diff --git a/packages/featureserver/src/helpers/feature-layer-metadata.spec.js b/packages/featureserver/src/helpers/feature-layer-metadata.spec.js index 016974e33..a38c54ae1 100644 --- a/packages/featureserver/src/helpers/feature-layer-metadata.spec.js +++ b/packages/featureserver/src/helpers/feature-layer-metadata.spec.js @@ -139,6 +139,7 @@ describe('FeatureLayerMetadata', () => { maxRecordCountFactor: 1, fields: [], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -391,6 +392,7 @@ describe('FeatureLayerMetadata', () => { }, ], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -552,6 +554,7 @@ describe('FeatureLayerMetadata', () => { }, ], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -709,6 +712,7 @@ describe('FeatureLayerMetadata', () => { }, ], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -904,6 +908,7 @@ describe('FeatureLayerMetadata', () => { }, ], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1059,6 +1064,7 @@ describe('FeatureLayerMetadata', () => { }, ], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1227,6 +1233,7 @@ describe('FeatureLayerMetadata', () => { }, ], relationships: [], + indexes: [], capabilities: 'list,of,stuff', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], diff --git a/packages/featureserver/src/helpers/table-layer-metadata.spec.js b/packages/featureserver/src/helpers/table-layer-metadata.spec.js index 043c4ff6c..b5493005e 100644 --- a/packages/featureserver/src/helpers/table-layer-metadata.spec.js +++ b/packages/featureserver/src/helpers/table-layer-metadata.spec.js @@ -130,6 +130,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: [], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -251,6 +252,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -365,6 +367,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -477,6 +480,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -589,6 +593,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -701,6 +706,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -813,6 +819,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -925,6 +932,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1037,6 +1045,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1149,6 +1158,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1261,6 +1271,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1373,6 +1384,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'hello,world', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1485,6 +1497,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query,Extract', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1597,6 +1610,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1709,6 +1723,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1821,6 +1836,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1933,6 +1949,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -1947,6 +1964,7 @@ describe('TableLayerMetadata', () => { { name: 'Hank Williams', relationships: ['something'], + indexes: [], description: 'There is a tear in my beer.', copyrightText: 'copyright-text', templates: ['templates'], @@ -2056,6 +2074,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: ['something'], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -2311,6 +2330,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'list,of,stuff', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], @@ -2432,6 +2452,7 @@ describe('TableLayerMetadata', () => { maxRecordCountFactor: 1, fields: ['fields'], relationships: [], + indexes: [], capabilities: 'list,of,stuff', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, types: [], diff --git a/packages/featureserver/src/metadata-defaults.js b/packages/featureserver/src/metadata-defaults.js index 3329f2ae0..6a2670169 100644 --- a/packages/featureserver/src/metadata-defaults.js +++ b/packages/featureserver/src/metadata-defaults.js @@ -225,6 +225,7 @@ class MetadataDefaults { maxRecordCountFactor: 1, fields: [], relationships: [], + indexes: [], capabilities: 'Query', ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true, diff --git a/test/geoservice-client-requests-no-geom.spec.js b/test/geoservice-client-requests-no-geom.spec.js index 7441ecb09..b6246cfe8 100644 --- a/test/geoservice-client-requests-no-geom.spec.js +++ b/test/geoservice-client-requests-no-geom.spec.js @@ -202,6 +202,7 @@ describe('Typical Geoservice Client request sequence: Dataset with no geometry', }, ], relationships: [], + indexes: [], capabilities: 'Query', maxRecordCount: 2000, ownershipBasedAccessControlForFeatures: { @@ -369,6 +370,7 @@ describe('Typical Geoservice Client request sequence: Dataset with no geometry', }, ], relationships: [], + indexes: [], capabilities: 'Query', maxRecordCount: 2000, ownershipBasedAccessControlForFeatures: { allowOthersToQuery: true }, diff --git a/test/helpers/client-response-fixtures.js b/test/helpers/client-response-fixtures.js index 9ca1fab10..8fa0fc427 100644 --- a/test/helpers/client-response-fixtures.js +++ b/test/helpers/client-response-fixtures.js @@ -1,6 +1,7 @@ const CURRENT_VERSION = 11.2; const FULL_VERSION = '11.2.0'; const COPYRIGHT_TEXT = + // eslint-disable-next-line max-len 'Copyright information varies by provider. For more information please contact the source of this data.'; function getServerInfo(id) { @@ -129,6 +130,7 @@ function getLayersInfo(filename, idField) { }, ], relationships: [], + indexes: [], capabilities: 'Query', maxRecordCount: 2000, supportsStatistics: true, From 8f5e6a1000e40cb7f53085412a94816600cb4957 Mon Sep 17 00:00:00 2001 From: Anders Kane Date: Tue, 31 Mar 2026 13:17:31 -0400 Subject: [PATCH 2/5] docs(core,output-geoservices): revert changes to change logs --- packages/core/CHANGELOG.md | 6 ------ packages/output-geoservices/CHANGELOG.md | 7 ------- 2 files changed, 13 deletions(-) diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index aa04d173f..5e1a2c155 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,11 +1,5 @@ # @koopjs/koop-core -## 10.4.18 - -### Patch Changes - -- @koopjs/output-geoservices@8.1.25 - ## 10.4.17 ### Patch Changes diff --git a/packages/output-geoservices/CHANGELOG.md b/packages/output-geoservices/CHANGELOG.md index a7a643dd0..ddef1f9ad 100644 --- a/packages/output-geoservices/CHANGELOG.md +++ b/packages/output-geoservices/CHANGELOG.md @@ -1,12 +1,5 @@ # @koopjs/output-geoservices -## 8.1.25 - -### Patch Changes - -- Updated dependencies [b9a2c3e] - - @koopjs/featureserver@10.0.0 - ## 8.1.24 ### Patch Changes From 098968c8efd241a9a1e41e22052f7f4e3305d5ef Mon Sep 17 00:00:00 2001 From: Anders Kane Date: Tue, 31 Mar 2026 13:32:31 -0400 Subject: [PATCH 3/5] revert(core,output-geoservices): revert version change on output-geoservices --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index f68d4bb5c..e003f9a2f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -21,7 +21,7 @@ "dependencies": { "@koopjs/cache-memory": "6.0.0", "@koopjs/logger": "5.0.0", - "@koopjs/output-geoservices": "8.1.25", + "@koopjs/output-geoservices": "8.1.24", "@sindresorhus/fnv1a": "^2.0.1", "body-parser": "^1.19.0", "compression": "^1.7.5", From 2b4540491d7ada7cc642e76a0d2b7650053fbfd3 Mon Sep 17 00:00:00 2001 From: Anders Kane Date: Tue, 31 Mar 2026 13:33:18 -0400 Subject: [PATCH 4/5] revert(output-geoservices): revert version change to output-geoservices --- packages/output-geoservices/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/output-geoservices/package.json b/packages/output-geoservices/package.json index 7adbeca86..dffab3783 100644 --- a/packages/output-geoservices/package.json +++ b/packages/output-geoservices/package.json @@ -1,6 +1,6 @@ { "name": "@koopjs/output-geoservices", - "version": "8.1.25", + "version": "8.1.24", "description": "Wraps FeatureServer as a Koop output plugin", "main": "src/index.js", "scripts": { From 49237b55d0482eda342523533f3ce592d337b781 Mon Sep 17 00:00:00 2001 From: Anders Kane Date: Tue, 31 Mar 2026 13:40:22 -0400 Subject: [PATCH 5/5] revert(output-geoservices): revert version change to feature-server --- package-lock.json | 2 +- packages/output-geoservices/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 939710e9d..2d3c3d8e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20778,7 +20778,7 @@ }, "packages/core": { "name": "@koopjs/koop-core", - "version": "10.4.17", + "version": "10.4.18", "license": "Apache-2.0", "dependencies": { "@koopjs/cache-memory": "6.0.0", diff --git a/packages/output-geoservices/package.json b/packages/output-geoservices/package.json index dffab3783..bbe958fc1 100644 --- a/packages/output-geoservices/package.json +++ b/packages/output-geoservices/package.json @@ -29,7 +29,7 @@ }, "homepage": "https://github.com/koopjs/koop#readme", "dependencies": { - "@koopjs/featureserver": "10.0.0", + "@koopjs/featureserver": "9.2.1", "@koopjs/logger": "5.0.0" }, "jest": {