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.
- Return only the latest version of each package when a combined index is used. #849
- Return only first appearance of the same version of a package when it is available in multiple indexes. #849
- Rename indexer metrics related to get operations and add the indexer name label to it. #853
- Add
elastic.subscription
condition to package index metadata, use this value for backwards compatibility with previouslicense
field. #826 - Add
source.license
to relevant API responses when available. #854
- Update Go version and base Ubuntu image. #821
- Add support for "threat_intel" category. #841
- Instrument package registry with Prometheus metrics. #827
- Data streams are properly read from Zip packages without entries for directories. #817
- Prepare stub for Storage Indexer. Disable fetching packages from Package Storage v1. #811
- Support input packages. #809
- Implement storage indexer. #814
- Implement remote resolver for storage indexer. #823
- Structured logging following JSON ECS format. #796.
- Apply release fallback to datastreams validation. #804.
- Packages with major version 0 or with prerelease labels are only returned by search requests when they include
prerelease=true
orexperimental=true
. #785 - Release level of a package without release tag is based on its semantic versioning now, previously it was experimental. #785
- Release level of a data stream without release tag is the same as the package that contains it, previously it was experimental. #785
- Add the
prerelease
parameter in search requests to include in-development versions of packages. #785
experimental
parameter in search requests is deprecated. #785
- Ignore the
internal
parameter in packages and/search
requests. #765
- Fix panic when opening specially crafted Zip file. #764
- Fix unbounded memory issue when handling HTTP/2 requests. #788
- Update APM Go Agent to 1.14.0. #759
- Update Gorilla to 1.8.0. #759
- Support package signatures. #760
- Update Go runtime to 1.17.6. #788
- Use Ubuntu LTS as base image instead of CentOS #787
- Properly handle modification headers (
If-Modified-Since
,Last-Modified
) for static resources. #756
- Fix: remove duplicated Categories property. #748
- Configuration file path can be selected with the
-config
flag. #745 - Configuration flags can be provided using environment variables. #745
- Add
-tls-cert
and-tls-key
flags to configure HTTPS. #711 #746 - Support for
elasticsearch.privileges.cluster
in package manifest. #750 - Update Go runtime to 1.17.1. #753
- Fix issue with relative paths when loading data streams. #742
- Decouple API from backend "indexers". #703
- Add support to serve packages stored as zip archives. #703
- Individual packages cannot be load if their path is specified with a trailing slash. #742
- Change format of responses to
/package
to make{"constraint": {"kibana.version": "7.16.0"}}
be{"constraint": {"kibana": {"version": "7.16.0"}}}
. #733
- Added
constraints
andowner
fields to/search
responses. #731 #734 - Add categories to /search output. Categories are added to the package and policy-templates. #735
- Fix: don't list old packages with categories incompatible with latest revisions. #719
- Support
elasticsearch.privileges.indices
in data stream manifests. #713
- Add -httpprof flag to enable HTTP profiling with pprof. #709
- Adjust counting logic for categories/policy templates. #716
- Update Go to 1.16.7 #706.
- Add instrumentation with the APM Go Agent #702.
- Support filtering /categories using
kibana.version
query param #695
- Disable Handlebars parsing. [#692] (elastic#692)
- Add input groups support. [#685] (elastic#685)
- Support "synthetics" type. [#688] (elastic#688)
- Fix the package not loading if it has an accidental file left in the package root directory. Add semver validation of the version directory. [#673] (elastic#673)
- Add "dataset_is_prefix" field to data stream. [#674] (elastic#674)
- Package validation can be disabled via command line option. [#667] (elastic#667)
- Add "hidden" field to data stream. [#660] (elastic#660)
- Add "ilm_policy" field to data stream. [#657] (elastic#657)
- Set cache headers for 404 for all API endpoints to private, no-store.#652
- Set cache headers for 404 and 400 to 0. #649
- Expose proper EPR version. #644
- Rename config template to policy template and dataset to data stream. #641
- Add validation for icons and screenshots. #537
- Rename version to service.version in index handler. #633
- Remove config
public_dir
which is replaced bypackage_paths
. #632 - Ship packages as zip instead of tar.gz #628
- Rename image src to path and have src as the original value from the manifest. #629
- Add
cache_time.index
as config option. #631
- Change dataset.* fields to data_stream.* fields. #622
- Change dataset.* fields to datastream.* fields. #618
- Allow numbers in package names. #614
- Always populate template_path. #600
- Fix Gogle Cloud tag typo. #592
- Remove development mode. #597
- Change stream.* fields to dataset.* fields. #492
- Remove
solution
entry support in package manfiest. #504 - Remove support for Elasticsearch requirements #516
- Rename
kibana
query param tokibana.version
. #518 - Remove
removable
flag from package manifest. #532 - Rename
datasources
toconfig_templates
in dataset manifest. #570 - Remove support for logs and metrics category. #571
- Remove
dataset.type: event
as suported type. #567 - Remove support for requirements. Use conditions instead. #574
- Use filepath.Walk to find valid package content data. #438
- Validate handlebarsjs stream configuration templates. #445
- Serve favicon as embedded resource. #468
- Generate index.json file. #470
- Stream archived package content. #472
- Generate package index.json files. #479
- Add validation for dataset type. #501
- Add -dry-run flag. #503
- Encode fields in Kibana objects if not encoded. #506
- Validate required fields in datasets. #507
- Do not require "config.yml". #508
- Validate version consistency. #510
- Remove package code generator. #513
- Support multiple packages paths. #525
- Added support for ecs style validation for dataset fields. #520
- Use BasePackage for search output data. #529
- Add support for owner field in package manifest. #536
- Introduce development mode. #543
- Add additional supported categories to package. #533
- Apply rule: first package found served. #546
- Implement package watcher. #553
- Add conditions as future replacement of requirements. #519
- Introduce
elasticsearch.ingest_pipeline.name
as config option. #
- Delete package index.json from archives. Don't serve index.json as resource. #488
- Change package path from /package/{packagename}-{version} to /package/{packagename}/{version} #300
- By default /search?package= now only returns the most recent package. #301
- Stream configuration filenames have
.hbs
suffix appended #308 - Align package storage directories with public dir structure #376
- Use index template v2 format for pre-built and generated index templates. #392
- Remove caching headers in case of errors. #275
- Allow to set cache times through config. #271
- Make README.md file a required file for a package. #287
- Add stream fields to each dataset #296
- Add
all
query param to return all packages. By default is set false. #301 - Add
multiple
config for datasource. By default true. #361 - Add
removable
flag to package manifest. Default is true. #359 - Add stream template to package json. #335
- Add support for multiple inputs per dataset. #346
- Add experimental releases for packages and datasets. #382
- Handle invalid query params and return error. #382
- Add basic access logs. #400
- Validate ingest pipeline during packaging phrase. #426
- Use http.FileServer to serve package content and define HTTP headers #425
- Remove requirement for streams definition in dataset manifest. #483
- Change
requirements.kibana.version.min/max
torequirements.kibana.versions: {semver-range}
- Encode Kibana objects during packaging. #157
- Prefix package download url with
/epr/{package-name}
. - Remove dataset.name but introduce dataset.id and dataset.path. #176
- Fix header for
tar.gz
files fromapplication/json
toapplication/gzip
. #154
- Add
/health
and/health?ready=1
endpoint for healthcheck. #151 - Add
default
config to dataset manifest. #148 - Update Golang version to 1.13.4. #159
- Add missing assets from datasets. #146
- Add
format_version
to define the package format. - Add dataset array to package info endpoint. #162
- Add path field to search and package info endpoint. #174
- Add download field to package info endpoint. #174
- Add
package
field to dataset. #189 - Add support for datasources. #216 #212
- Package Kibana compatiblity version is changed to
"kibana": { "max": "1.2.3"}
#134 - Rename
integrations-registry
topackage-registry
. #138 - Remove
packages.path
config and replace it withpublic_dir
config. #118
- Change empty /search API output from
null
to[]
. #111
- Add validation check that Kibana min/max are valid semver versions. #99
- Adding Cache-Control max-age headers to all http responses set to 1h. #101
- Validate packages to guarantee only predefined categories can be used. #100
- Cache all manifest on service startup for resource optimisation. #103
- Fix Docker image to specific Golang version. #107
- Add .dockerignore file for slimmer image. #104
- Move package generation to its own package. #112
- Remove not needed files in Docker image. #106
- Add healthcheck to docker file. #115
- Make caching headers configurable per endpoint. #116
- Add readme entry to package endpoint. #128
First tagged release. No changelog existed so far.