Releases: balena-os/balena-supervisor
v16.6.0
Enable redsocks dnsu2t
Support dnsu2t redsocks proxy config
Users may specify dnsu2t config by including a dns
field
in their PATCH body:
{
network: {
proxy: {
dns: '1.1.1.1:53'
},
hostname: 'balena'
}
}
If dns
is a string, IP and PORT are optional but should be in
the format [IP][:PORT] if present. For any fields that are empty,
a default IP and PORT (8.8.8.8:53
) will be configured.
dns
may also be a boolean. If true, defaults of 8.8.8.8:53
will be configured.
If false, the dns configuration will be removed.
If proxy
is patched to empty, dns
will be removed regardless of its
current or input configs, as dns
depends on an active redsocks
proxy to function.
Change-type: minor
Signed-off-by: Christina Ying Wang [email protected]
List of commits
186a412 (Add dnsu2t support to API docs for PATCH /v1/device/host-config, 2024-08-14)
eaa07e9 (Add support for redsocks dnsu2t config, 2024-08-14)
8bf346a (Parse dnsu2t block to dns config, 2024-08-14)
b775f8f (Stringify dns subsection of redsocks input config to dnsu2t, 2024-08-14)
e724f60 (Strip additional fields from HostConfiguration type, 2024-08-14)
v16.5.8
Update webpack to v5.94.0 [SECURITY]
Notable changes
- Added runtime condition for harmony reexport checked
- Handle properly
data
/http
/https
protocols in source maps - Make
bigint
optimistic when browserslist not found - Move @types/eslint-scope to dev deps
- Related in asset stats is now always an array when no related found
- Handle ASI for export declarations
- Mangle destruction incorrect with export named default properly
- Fixed unexpected asi generation with sequence expression
- Fixed a lot of types
- Added new external type "module-import"
- Support
webpackIgnore
fornew URL()
construction - [CSS]
@import
pathinfo support - Fixed DOM clobbering in auto public path
- Generate correct relative path to runtime chunks
- Makes
DefinePlugin
quieter under default log level - Fixed mangle destructuring default in namespace import
- Fixed consumption of eager shared modules for module federation
- Strip slash for pretty regexp
- Calculate correct contenthash for CSS generator options
- Added the
binary
generator option for asset modules to explicitly keep source maps produced by loaders - Added the
modern-module
library value for tree shakable output - Added the
overrideStrict
option to override strict or non-strict mode for javascript modules - Doesn't crash with an error when the css experiment is enabled and contenthash is used
- Correct tidle range's comutation for module federation
- Consider runtime for pure expression dependency update hash
- Return value in the
subtractRuntime
function for runtime logic - Fixed failed to resolve promise when eager import a dynamic cjs
- Avoid generation extra code for external modules when remapping is not required
- The
css/global
type now handles the exports name - Avoid hashing for
@keyframe
and@property
at-rules incss/global
type - Fixed mangle with destructuring for JSON modules
- The
stats.hasWarnings()
method now respects theignoreWarnings
option - Fixed
ArrayQueue
iterator - Correct behavior of
__webpack_exports_info__.a.b.canMangle
- Changed to the correct plugin name for the
CommonJsChunkFormatPlugin
plugin - Set the
chunkLoading
option to theimport
when environment is unknown and output is module - Fixed when runtimeChunk has no exports when
module
chunkFormat used - [CSS] Fixed parsing minimized CSS import
- [CSS] URLs in CSS files now have correct public path
- [CSS] The
css
module type should not allow parser to switch mode - [Types] Improved context module types
- Added platform target properties to compiler
- Improved multi compiler cache location and validating it
- Support
import attributes
spec (with
keyword) - Support
node:
prefix for Node.js core modules in runtime code - Support prefetch/preload for module chunk format
- Support "..." in the
importsFields
option for resolver - Root module is less prone to be wrapped in IIFE
- Export
InitFragment
class for plugins - Export
compileBooleanMatcher
util for plugins - Export
InputFileSystem
andOutputFileSystem
types - [CSS] Support the
esModule
generator option for CSS modules - [CSS] Support CSS when chunk format is module
- Deserializer for ignored modules doesn't crash
- Allow the
unsafeCache
option to be a proxy object - Normalize the
snapshot.unmanagedPaths
option - Fixed
fs
types - Fixed resolve's plugins types
- Fixed wrongly calculate postOrderIndex
- Fixed watching types
- Output import attrbiutes/import assertions for external JS imports
- Throw an error when DllPlugin needs to generate multiple manifest files, but the path is the same
- [CSS] Output
layer
/supports
/media
for external CSS imports - Allow to customize the stage of BannerPlugin
- [CSS] Support CSS exports convention
- [CSS] support CSS local ident name
- [CSS] Support
__webpack_nonce__
for CSS chunks - [CSS] Support
fetchPriority
for CSS chunks - [CSS] Allow to use LZW to compress css head meta (enabled in the
production
mode by default) - [CSS] Support prefetch/preload for CSS chunks
- don't mangle when destructuring a reexport
- types for
Stats.toJson()
andStats.toString()
- many internal types
- [CSS] clean up export css local vars
- simplify and optimize chunk graph creation
- use
Math.imul
infnv1a32
to avoid loss of precision, directly hash UTF16 values - the
setStatus()
of the HMR module should not return an array, which may cause infinite recursion __webpack_exports_info__.xxx.canMangle
shouldn't always same as default- mangle export with destructuring
- use new runtime to reconsider skipped connections
activeState
- make dynamic import optional in
try/catch
- improve auto publicPath detection
- improve CI setup and include Node.js@21
- set
unmanagedPaths
in defaults - correct
preOrderIndex
andpostOrderIndex
- add fallback for MIME mismatch error in async wasm loading
- browsers versions of ECMA features
- optimize
compareStringsNumeric
- optimize
numberHash
using 32-bit FNV1a for small ranges, 64-bit for larger - reuse VM context across webpack magic comments
- Fixed inner graph for classes
- Optimized
RemoveParentModulesPlugin
via bigint arithmetic - Fixed worklet detection in production mode
- Fixed an error for cyclic importModule
- Fixed types for
Server
andDirent
- Added the
fetchPriority
to hmr runtime'sensureChunk
function - Don't warn about dynamic import for build dependencies
- External module generation respects the
output.environment.arrowFunction
option - Fixed consumimng shared runtime module logic
- Fixed a runtime logic of multiple chunks
- Fixed destructing assignment of dynamic import json file
- Passing errors array for a module hash
- Added
/*#__PURE__*/
to generatedJSON.parse()
- Generated a library manifest after clean plugin
- Fixed non
amd
externals andamd
library - Fixed a bug in
SideEffectsFlagPlugin
with namespace re-exports - Fixed an error message for condition
or
- The
strictModuleErrorHandling
is now working - Clean up child compilation chunk graph to avoid memory leak
- [CSS] - Fixed CSS import prefer relative resolution
- [CSS] - Fixed CSS runtime chunk loading error message
- Allow to set
false
for dev server inwebpack.config.js
- Added a warning for async external when not supported
- Added a warning for async module when not supported
- Added the
node-module
option for thenode.__filename/__dirname
and enable it by default for ESM target - Added the
snapshot.unmanagedPaths
option - Exposed the
MultiCompilerOptions
type - [CSS] - Added CSS parser options to enable/disable named exports
- [CSS] - Moved CSS the
exportsOnly
option to CSS generator options - use node.js LTS version for lint
- bump actions/cache from 3 to 4
- bump prettier from 3.2.1 to 3.2.3
- bump assemblyscript
- bump actions/checkout from 3 to 4
- Make CommonJS import preserve chained expressions by @bworline in https://github.com/webpack/webpack/pull/17718
- chore(deps-dev): bump @types/node from 20.3.1 to 20.4.8 by @dependabot in https://github.com/webpack/webpack/pull/17568
- docs: add example for stats detailed output by @ersachin3112 in https://github.com/webpack/webpack/pull/17420
- docs: add example for stats normal output by @ersachin3112 in https://github.com/webpack/webpack/pull/17426
- chore(deps-dev): bump core-js from 3.31.0 to 3.32.0 by @dependabot in https://github.com/webpack/webpack/pull/17539
- chore(deps-dev): bump pretty-format from 29.5.0 to 29.6.2 by @dependabot in https://github.com/webpack/webpack/pull/17536
- chore(deps-dev): bump @types/node from 20.4.8 to 20.4.9 by @dependabot in https://github.com/webpack/webpack/pull/17583
- chore(deps-dev): bump less from 4.1.3 to 4.2.0 by @dependabot in https://github.com/webpack/webpack/pull/17580
- chore(deps): bump semver from 5.7.1 to 5.7.2 by @dependabot in https://github.com/webpack/webpack/pull/17483
- chore(deps-dev): bump simple-git from 3.19.0 to 3.19.1 by @dependabot in https://github.com/webpack/webpack/pull/17427
- chore(deps-dev): bump @types/node from 20.4.9 to 20.6.0 by @dependabot in https://github.com/webpack/webpack/pull/17666
- Fixed a bug where unused identifiers should retain names when using css modules by @burhanuday in https://github.com/webpack/webpack/pull/17444
- Significantly improve TypeScript coverage for Library Plugins by @alexander-akait in [...
v16.5.7
v16.5.6
v16.5.5
v16.5.4
v16.5.3
v16.5.2
v16.5.1
v16.5.0
Logs processing improvements
- The supervisor no longer uses the database to store the last log sent timestamp. Using the database for this is not justified since journal logs are lost between reboots in most cases and even when they are not, the logs throughput is limited by the network speed and the storage provided by the backend, so overall the number of lost logs will be minimal.
- Removes use of the JSONStream module for log processing, switching to the native JSON.parse.
- It modifies the logs processing pipe to use an async Node pipeline, this will avoid memory leaks due to an error on the pipe. Because it uses async processing, it prevents the stream handling from overwhelming the event loop and ensures control is yielded back to the event loop while messages are being sent.
- This PR also modifies the balena log backend (what uploads logs to the API), to use async functions, also yielding control back to the event loop between messages and creating backpressure on the log stream.
Overall the changes above should result in less memory and less CPU being used when processing logs, ensuring proper operation of the supervisor even under high load scenarios
List of commits
8bc0875 (Use promises for setup/writing for logging backend, 2024-07-22)
f3fcb0d (Improve the LogBackend interface, 2024-07-22)
5af9484 (Use stream pipeline instead of pipe, 2024-07-10)
dbacca9 (Do not use DB to store container logs info, 2024-07-10)