Falcon LogScale 1.130.0 GA (2024-03-19)
| Version? | Type? | Release Date? | Availability? | End of Support | Security Updates | Upgrades From? | Downgrades To? | Config. Changes? |
|---|---|---|---|---|---|---|---|---|
| 1.130.0 | GA | 2024-03-19 | Cloud | 2025-04-30 | No | 1.106.0 | 1.112.0 | No |
Available for download two days after release.
Bug fixes and updates.
Advance Warning
The following items are due to change in a future release.
Installation and Deployment
We intend to drop support for Java 17, making Java 21 the minimum. We plan to make this change in March 2024.
We aim to stop publishing the
jardistribution of LogScale (e.g.server-1.117.jar) as of LogScale version 1.130.0.Users deploying via Docker images are not affected. Users deploying on bare metal should ensure they deploy the
tarartifact, and not thejarartifact.A migration guide for bare metal deployments is available at How-To: Migrating from server.jar to Launcher Startup.
Deprecation
Items that have been deprecated and may be removed in a future release.
The
anyargument to thetypeparameter ofsort()andtable()has been deprecated and will be removed in version 1.142.Warnings prompts will be shown in queries that fall into either of these two cases:
If you are explicitly supplying an
anyargument, please either simply remove both the parameter and the argument, for example changesort(..., type=any)tosort(...)or supply the argument fortypethat corresponds to your data.If you are sorting hexadecimal values by their equivalent numerical values, please change the argument of
typeparameter tohexe.g.sort(..., type=hex).In all other cases, no action is needed.
The new default value for
sort()andtable()will benumber. Both functions will fall back to lexicographical ordering for values that cannot be understood as the provided argument fortype.In the GraphQL API, the
nameargument to theparserfield on theRepositorydatatype has been deprecated and will be removed in version 1.136 of LogScale.We are deprecating the
humio/kafkaandhumio/zookeeperDocker images due to low use. The planned final release for these images will be with LogScale 1.148.0.Better alternatives are available going forward. We recommend the following:
If you still require
humio/kafkaorhumio/zookeeperfor needs that cannot be covered by these alternatives, please contact Support and share your concerns.The
assetTypeGraphQL field onAlert,Dashboard,Parser,SavedQueryandViewInteractiondatatypes has been deprecated and will be removed in version 1.136 of LogScale.In the GraphQL API, the
ChangeTriggersAndActionenum value for both thePermissionandViewActionenum is now deprecated and will be removed in version 1.136 of LogScale.The following GraphQL queries and mutations for interacting with parsers are deprecated and scheduled for removal in version 1.142.
The deprecated createParser() mutation is replaced by createParserV2() . The differences between the old and new mutation are:
testDatainput field is replaced bytestCases, which can contain more data than the old tests could. This includes adding assertions to the output of a test. These assertions are not displayed in the UI yet. To emulate the old API, you can take the old test string and put it in theParserTestEventInputinside theParserTestCaseInput, and they will behave the same as before.
fieldsToBeRemovedBeforeParsingcan now be specified as part of the parser creation.
forcefield is renamed toallowOverwritingExistingParser.
sourceCodefield is renamed toscript.
tagFieldsfield is renamed tofieldsToTag.
languageVersionis no longer an enum, but aLanguageVersionInputTypeinstead.The mutation returns a
Parser, instead of aParserwrapped in an object.The mutation fails when a parser has more than 2,000 test cases, or the test input in a single test case exceeds 40,000 characters.
The deprecated removeParser() mutation is replaced by deleteParser(). The difference between the old and new mutation is:
The mutation returns boolean to represent success or failure, instead of a
Parserwrapped in an object.The deprecated testParser() mutation is replaced by testParserV2() . The differences between the old and new mutation are:
The test cases are now structured types, instead of just being strings. To emulate the old API, take the test string and put it in the
ParserTestEventInputinside theParserTestCaseInput, and they will behave the same as before.The new test cases can contain assertions about the contents of the output.
The mutation output is significantly different from before, as it provides more detailed information on how a test case has failed.
The mutation now accepts both a language version and list of fields to be removed before parsing.
The
parserScriptfield is renamed toscript.The
tagFieldsfield is renamed tofieldsToTag.The deprecated updateParser() mutation is replaced by updateParserV2() where more extensive test cases can be set. Continuing to use the previous API may result in test information on parsers being lost. To ensure information is not unintentionally erased, please migrate away from the deprecated APIs for both reading and updating parser test cases and use updateParserV2() instead. The differences between the previous and the new mutation are:
testDatainput field is replaced bytestCases, which can contain more data than the old tests could. This includes adding assertions to the output of a test. These assertions are not displayed in the UI yet. To emulate the old API, you can take the old test string and put it in theParserTestEventInputinside theParserTestCaseInput, and they will behave the same as before.
sourceCodefield, used to updating the parser script, is changed to thescriptfield, which takes aUpdateParserScriptInputobject. This updates the parser script and the language version together.
tagFieldsfield is renamed tofieldsToTag.The
languageVersionis located inside theUpdateParserScriptInputobject, and is no longer an enum, but aLanguageVersionInputTypeinstead.The
repositoryNameandidfields are now correctly marked as mandatory in the schema. Previously this wasn't the case, even though the mutation would fail without them.The mutation returns a
Parser, instead of aParserwrapped in an object.The old mutation had a bug where it would overwrite the
languageVersionwith a default value in some cases, which is fixed in the new one.The mutation fails when a parser has more than 2,000 test cases, or the test input in a single test case exceeds 40,000 characters.
On the Parser type:
testDatafield is deprecated and replaced bytestCases.
sourceCodefield is deprecated and replaced byscript.
tagFieldsfield is deprecated and replaced byfieldsToTag.For more information, see DeleteParserInput , LanguageVersionInputType , createParserV2() , testParserV2() , updateParserV2() , Parser .
The
humioDocker image is deprecated in favor ofhumio-core.humiois no longer considered suitable for production use, as it runs Kafka and ZooKeeper on the same host as LogScale, which our deployment guidelines no longer recommend. The final release ofhumioDocker image will be in version 1.130.0.The new
humio-single-node-demoimage is an all-in-one container suitable for quick and easy demonstration setups, but which is entirely unsupported for production use.For more information, see Installing Using Containers.
Behavior Changes
Scripts or environment which make use of these tools should be checked and updated for the new configuration:
Security
DNS caches are now invalidated after 60 seconds instead of never. To override this behavior, set the security policy
networkaddress.cache.ttlin the security manager of the JRE (see Java Networking Properties).
New features and improvements
Functions
The
parseTimestamp()function is now able to parse timestamps with nanosecond precision.
Fixed in this release
Automation and Triggers
Filter alerts with field-based throttling could trigger on two events with the same value for the throttle field, if actions were slow. This issue is now fixed.
Dashboards and Widgets
A dashboard with fixed shared time as default would not update correctly when selecting a new relative time. This issue is now fixed.
Early Access
Functions
A new query function
readFile()is released in Early Access. It allows using a CSV Lookup File as data input for a query.For more information, see
readFile().
Improvement
Storage
Moved the work of creating a global snapshot for upload to bucket storage from the thread coordinating segment uploads/downloads to a separate thread. This improves the reliability of uploading and download the global snapshot to/from bucket storage.
Functions
Reduction of memory requirements when processing empty arrays in functions that accept them. This helps reduce the memory required to use these functions with empty arrays.