Skip to content

Latest commit

 

History

History
66 lines (56 loc) · 4.89 KB

CHANGELOG-developer.asciidoc

File metadata and controls

66 lines (56 loc) · 4.89 KB

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.

Beats version HEAD

The list below covers the major changes between 6.3.0 and master only.

Breaking changes

  • 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 to tlscommon. 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 new escapeHTML 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. The FIELDS_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 in kibana_index_pattern.go to -beat for consistency with other scripts in dev-tools/cmd. 8615

Bugfixes

  • Fix permissions of generated Filebeat filesets. 7140

  • Collect fields from _meta/fields.yml too. 8397

  • Fix issue on asset generation that could lead to different results in Windows. 8464

Added

  • 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 and goTestIntegration 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. See mage -h goTestUnit. 7766

  • Beats packaging now build non-oss binaries from code located in the x-pack folder. 7783

  • New function AddTagsWithKey is added, so common.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 functions cmd.GenRootCmd, cmd.GenRootCmdWithRunFlags, and cmd.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 to export_dashboards.go script to support Kibana Spaces 7942

  • Add -name option to asset.go script to explicitly name the asset rather than using its filename. 8693

  • Add -out option to kibana_index_pattern.go to control the output dir to make it possible to write the generated output to build/kibana instead of _meta/kibana.generated (but the output dir remains unchanged at this point). 8615

  • Add module_fields.go for generated fields.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