Falcon LogScale 1.139.0 GA (2024-05-21)
| Version? | Type? | Release Date? | Availability? | End of Support | Security Updates | Upgrades From? | Downgrades To? | Config. Changes? |
|---|---|---|---|---|---|---|---|---|
| 1.139.0 | GA | 2024-05-21 | Cloud | 2025-07-31 | No | 1.112.0 | 1.112.0 | No |
Available for download two days after release.
Hide file download links
Download
Use docker pull humio/humio-core:1.139.0 to download the latest version
Bug fixes and updates.
Advance Warning
The following items are due to change in a future release.
Installation and Deployment
The LogScale Launcher Script script for starting LogScale will be modified to change the way CPU core usage can be configured. The
-XX:ActiveProcessorCount=ncommand-line option will be ignored if set. Users that need to configure the core count manually should setCORES=nenvironment variable instead. This will cause the launcher to configure both LogScale and the JVM properly.This change is scheduled for 1.148.0.
For more information, see LogScale Launcher Script.
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.The following API endpoints are deprecated and marked for removal in 1.148.0:
POST/api/v1/clusterconfig/kafka-queues/partition-assignment
GET/api/v1/clusterconfig/kafka-queues/partition-assignment
POST/api/v1/clusterconfig/kafka-queues/partition-assignment/set-replication-defaultsThe deprecated methods are used for viewing and changing the partition assignment in Kafka for the ingest queue. Administrators should use Kafka's own tools for editing partition assignments instead, such as the bin/kafka-reassign-partitions.sh and bin/kafka-topics.sh scripts that ship with the Kafka install.
The
HUMIO_JVM_ARGSenvironment variable in the LogScale Launcher Script script will be removed in 1.154.0.The variable existed for migration from older deployments where the launcher script was not available. The launcher script replaces the need for manually setting parameters in this variable, so the use of this variable is no longer required. Using the launcher script is now the recommended method of launching LogScale. For more details on the launcher script, see LogScale Launcher Script. Clusters that still set this configuration should migrate to the other variables described at LogScale Launcher Script.
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 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
server.tar.gzrelease artifact has been deprecated. Users should switch to theOS/architecture-specific server-linux_x64.tar.gzorserver-alpine_x64.tar.gz, which include bundled JDKs. Users installing a Docker image do not need to make any changes. With this change, LogScale will no longer support bringing your own JDK, we will bundle one with releases instead.We are making this change for the following reasons:
By bundling a JDK specifically for LogScale, we can customize the JDK to contain only the functionality needed by LogScale. This is a benefit from a security perspective, and also reduces the size of release artifacts.
Bundling the JDK ensures that the JDK version in use is one we've tested with, which makes it more likely a customer install will perform similar to our own internal setups.
By bundling the JDK, we will only need to support one JDK version. This means we can take advantage of enhanced JDK features sooner, such as specific performance improvements, which benefits everyone.
The last release where
server.tar.gz artifactis included will be 1.154.0.
Behavior Changes
Scripts or environment which make use of these tools should be checked and updated for the new configuration:
API
It is no longer possible to revive a query by polling it after it has been stopped.
For more information, see Running Query Jobs.
Other
LogScale deletes
humiotmpdirectories when gracefully shut down, but this can causetmpdirectories to leak if LogScale crashes. LogScale now also deletes these directories on startup.
New features and improvements
User Interface
The maximum limit for saved query names has been set to 200 characters.
The warnings for numbers out of the browser's safe number range have been slightly modified.
For more information, see Troubleshooting: UI Warning: The actual value is different from what is displayed.
Configuration
A new
QueryBacktrackingLimitdynamic configuration is available through GraphQL as experimental. It allows to limit a query iterating over individual events too many times (which may happen with an excessive use ofcopyEvent(),join()andsplit()functions, orregex()with repeat-flags). The default for this limit is 3,000 and can be modified with the dynamic configuration. At present, the feature flag sets this limit off by default.
Ingestion
Audit logs related to Event Forwarders no longer include the properties of the event forwarder.
Event forwarder disablement is now audit logged with type disable instead of enable.
The parser assertions can now be written and loaded to YAML files, using the V3 parser format.
Functions
The
onlyTrueparameter has been added to thebitfield:extractFlags()query function, it allows to output only flags whose value istrue.For more information, see
bitfield:extractFlags().The query editor now gives warnings about certain regex constructs that are valid but suboptimal. Specifically, quantified wildcards in the beginning or end of an (unanchored) regex.
Other
Two new metrics have been introduced:
internal-throttled-poll-ratekeeps track of the number of times polling workers during query execution was throttled due to rate limiting.internal-throttled-poll-wait-timekeeps track of maximum delays per poll round due to rate limiting.
Improvement
User Interface
When a saved query is used, the query editor will display the query string when hovering over it.