Releases: krakend/krakend-ce
v2.0.6
v2.0.5
What's Changed
- no-op test with 404 added by @kpacha in #497
- Update README.md by @norasotanext in #492
- Drop extraneous : from README by @Zorlin in #504
- Organization rename from
devopsfaith
tokrakendio
by @kpacha in #509 - Upgrade Lura dependencies to 2.0.5
New Contributors
- @norasotanext made their first contribution in #492
- @Zorlin made their first contribution in #504
Full Changelog: v2.0.4...v2.0.5
v2.0.4
What's Changed
[bugfix]
Corrected long integers during claim extraction (krakend-jose)[bugfix]
DeprecateMetadata()
and instead useHeader()
andStatusCode()
for response modifier plugins
Full Changelog: https://github.com/devopsfaith/krakend-ce/compare/v2.0.3...v2.0.4
v2.0.3
v2.0.2
Changes in KrakenD
[security]
Addnmap
scans on Makefile[security]
Dependencies updated[bugfix]
Other minor fixes and optimizations in Flatmap, Lua, Cobra, and AMQP components[feature]
Enabled DeepSource code scans[bugfix]
Ratelimit config must use snake_case keys instead of camelCase[feature]
Cobra: config parser exposed[bugfix]
Jose: use a mirror of go-auth0[bugfix]
Jose: Fix integer claim formatting
v2.0.1
v2.0.0
Changes in KrakenD-CE
If you are an existing KrakenD user read "Migrating from KrakenD 1.x and 0.x.
What's new?
The most relevant additions and changes on KrakenD 2.0 are:
GraphQL
REST to GraphQL conversion, or direct consumption of GraphQL through the gateway. Use GraphQL to define new backend queries and expose them as regular REST endpoints to your clients, federate content. GraphQL documentation
New plugin types
The request/response plugin modifiers are two new types of Go plugins to directly modify requests and responses from and to backends, complementing the existing handler and client plugins. Users who are currently using custom logic in Lua scripts can boost its performance. Plugin modifier documentation
Configurable router flags
There are plenty of configurable router flags such as returning the gateway error to the client (e.g: a timeout), redirection options, automatic OPTIONS
, better ways get the real IP (including through Trusted Proxies), or removing entries from the logs such as hiding the /__health
endpoint. See all new router flags
More developer friendly
KrakenD has been always easy to configure, but we wanted to improve the logs and information available while developing:
- The
krakend check
command adds now multiple levels of debug verbosity and colors for easier understanding of the configuration - A new command
krakend check-plugin
lets you check your custom plugins for compatibility - We have shortened and classified all
extra_config
namespaces, for better comprehension and usage of the components. When there was a URL-like component such as"github_com/devopsfaith/krakend-cors"
now becomes acategory/functionality
such as"security/cors"
. - A new migration tool takes care of the transition from 0.x and 1.x to 2.x to make the process straightforward.
- Better logs with more context. All log lines have been rewritten, adding a prefix grouping them with more information, like which endpoint or backend raised the line of a specific component.
- Plugins with access to the logger: If you had custom plugins, now they can use the KrakenD logger to enrich your gateway output.
- Alpine-based Docker image: Docker image extending from Alpine, making it a very lightweight image and without dragging all the security issues of larger containers like Debian.
Async agents
Prior to this version, any KrakenD activity was preceeded by a call to the API. Now, KrakenD is able to listen queues and act as a consumer or a producer on its own, without requiring an end-user request. For instance, when KrakenD detects that a new message has entered a queue (many technologies supported) it can trigger a call to a backend of your choice.
v1.4.1
Changes in KrakenD
[bugfix]
Call to the opencensus HTTPExecutorFactory so it receives the backend configurations. Updated deps to use latest opencensus and lura version to include other bugfixes in the Lura framework.[bugfix]
Fix corner cases where the http cache could be ignored
v1.4.0
Changes in KrakenD
- All dependencies for the framework moved to Lura
json-collection
added as a valid output encoding for collections
Changes in Flexible Configuration
For those using the flexible configuration, there are over 70 Sprig functions that have been added to the templating system:
- String Functions:
trim, wrap, randAlpha, plural
and more.- String List Functions:
splitList, sortAlpha
and more.
- String List Functions:
- Integer Math Functions:
add, max, mul
and more.- Integer Slice Functions:
until, untilStep
- Integer Slice Functions:
- Float Math Functions:
addf, maxf, mulf
and more. - Date Functions:
now, date
and more. - Defaults Functions:
default, empty, coalesce, fromJson, toJson, toPrettyJson, toRawJson, ternary
- Encoding Functions:
b64enc, b64dec
and more. - Lists and List Functions:
list, first, uniq
and more. - Dictionaries and Dict Functions:
get, set, dict, hasKey, pluck, dig, deepCopy
and more. - Type Conversion Functions:
atoi, int64, toString
and more. - Path and Filepath Functions:
base, dir, ext, clean, isAbs, osBase, osDir, osExt, osClean, osIsAbs
- Flow Control Functions:
fail
- Advanced Functions
- UUID Functions:
uuidv4
- OS Functions:
env, expandenv
- Version Comparison Functions:
semver, semverCompare
- Reflection:
typeOf, kindIs, typeIsLike
and more. - Cryptographic and Security Functions:
derivePassword, sha256sum, genPrivateKey
and more. - Network:
getHostByName
- UUID Functions:
See the documentation
Changes in krakend-jose (JWT)
- Dependencies moved to Lura
- Copy the key before adding it to the key mapper, so the latter doesn't override all the other entries
- Test case for the single string role added
- Added condition to avoid parsing namespaced claims as nested
- Allow the propagation of nested claims using dot notation
- Invert the order of the handler factories so the verifier can wrap the signer
- TLS1.3 cipher suites added to the default set
- Serialize the claims after extracting them
- JWT/header propagation: replace existing values
Changes in krakend-lua
- Dependencies moved to Lura
del
operation for lists addeddel
method added to Lua tables- Check if the value is a json number before pushing it to the context
v1.3.0
[feature]
Flexibleconfig upgraded[bugfix]
Remove unused variable from Makefile[feature]
Cleanup Makefile to create generic packages for rpm and deb. Remove alpine Dockerfile[feature]
golang version upgraded[feature]
support for namespaced role key[feature]
support for key_identify_strategy to allow different keys for JWK validation[bugfix]
integration test fixed[feature]
version updated[feature]
deps updated[bugfix]
vault and k8s versions fixed at the mod file[feature]
switch to direct downloads[bugfix]
Fix integration tests to reflect devopsfaith/krakend PR #448[feature]
Update krakend deps to latest version[bugfix]
Travis badge removed[bugfix]
Github actions added[feature]
Update linux versions[feature]
jose package upgraded[feature]
better error reporting added to the integration test runner