This changelog is intended for community Beat developers. It covers the major
breaking changes to the internal APIs in the official Beats and changes related
to developing a Beat like code generators or fields.yml
. Only the major
changes will be covered in this changelog that are expected to affect community
developers. Each breaking change added here should have an explanation on how
other Beats should be migrated.
Note: This changelog was only started after the 6.3 release.
The list below covers the major changes between 6.3.0 and master only.
-
The beat.Pipeline is now passed to cfgfile.RunnerFactory. Beats using libbeat for module reloading or autodiscovery need to be adapted. 7017
-
Moving of TLS helper functions and structs from
output/tls
totlscommon
. 7054 -
Port fields.yml collector to Golang 6911
-
Dashboards under _meta/kibana are expected to be decoded. See elastic#7224 for a conversion script. 7265
-
Constructor
(github.com/elastic/beats/libbeat/output/codec/json).New
expects a newescapeHTML
parameter. 7445 -
Packaging has been refactored and updates are required. See the PR for migration details. 7388
-
make fields
has been modified to use Mage (https://magefile.org/) in an effort to make the building a Beat more cross-platform friendly (e.g. Windows). This requires that your Beat has a magefile.go with a fields target. TheFIELDS_FILE_PATH
make variable is no longer used because the value is specified in magefile.go. 7670 -
Outputs must implement String. 6404
-
Renamed
-beat-name
CLI option used inkibana_index_pattern.go
to-beat
for consistency with other scripts indev-tools/cmd
. 8615
-
Libbeat provides a global registry for beats developer that allow to register and retrieve plugin. 7392
-
Added more options to control required and optional fields in schema.Apply(), error returned is a plain nil if no error happened 7335
-
Packaging on MacOS now produces a .dmg file containing an installer (.pkg) and uninstaller for the Beat. 7481
-
Added mage targets
goTestUnit
andgoTestIntegration
for executing 'go test'. This captures the log to a file, summarizes the result, produces a coverage profile (.cov), and produces an HTML coverage report. Seemage -h goTestUnit
. 7766 -
Beats packaging now build non-oss binaries from code located in the x-pack folder. 7783
-
New function
AddTagsWithKey
is added, socommon.MapStr
can be enriched with tags with an arbitrary key. 7991 -
Move filebeat/reader to libbeat/reader 8206
-
Libbeat provides a new function
cmd.GenRootCmdWithSettings
that should be preferred over deprecated functionscmd.GenRootCmd
,cmd.GenRootCmdWithRunFlags
, andcmd.GenRootCmdWithIndexPrefixWithRunFlags
. 7850 -
Set current year in generator templates. 8396
-
You can now override default settings of libbeat by using instance.Settings. 8449
-
Add
-space-id
option toexport_dashboards.go
script to support Kibana Spaces 7942 -
Add
-name
option toasset.go
script to explicitly name the asset rather than using its filename. 8693 -
Add
-out
option tokibana_index_pattern.go
to control the output dir to make it possible to write the generated output tobuild/kibana
instead of_meta/kibana.generated
(but the output dir remains unchanged at this point). 8615 -
Add
module_fields.go
for generatedfields.go
files for modules. 8615 -
Add
mage.GenerateModuleReferenceConfig
for generating reference config files that include configuration sections from the module directory. 8615 -
Add
mage.GenerateFieldsGo
for generating fields.go files. 8615 -
Add
mage.KibanaDashboards
for collecting Kibana dashboards and generating index patterns. 8615 -
Allow to disable config resolver using the
Settings.DisableConfigResolver
field when initializing libbeat. 8769 -
Add
mage.AddPlatforms
to allow to specify dependent platforms when building a beat. 8889 -
Add
cfgwarn.CheckRemoved6xSetting(s)
to display a warning for options removed in 7.0. 8909