Update all non-major dependencies (minor)
This MR contains the following updates:
Release Notes
babel/babel (@babel/runtime)
v7.27.1
:eyeglasses: Spec Compliance
-
babel-parser
-
babel-parser
,babel-types
:bug: Bug Fix
-
babel-plugin-proposal-destructuring-private
,babel-plugin-proposal-do-expressions
,babel-traverse
-
babel-helper-wrap-function
,babel-plugin-transform-async-to-generator
- #17251 Fix: propagate argument evaluation errors through async promise chain (@magic-akari)
-
babel-helper-remap-async-to-generator
,babel-plugin-transform-async-to-generator
-
babel-helper-fixtures
,babel-parser
-
babel-generator
,babel-parser
-
babel-parser
-
babel-compat-data
,babel-preset-env
-
babel-traverse
- #17156 fix: Objects and arrays with multiple references should not be evaluated (@liuxingbaoyu)
-
babel-generator
:nail_care: Polish
-
babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining
,babel-plugin-proposal-decorators
,babel-plugin-transform-arrow-functions
,babel-plugin-transform-class-properties
,babel-plugin-transform-destructuring
,babel-plugin-transform-object-rest-spread
,babel-plugin-transform-optional-chaining
,babel-plugin-transform-parameters
,babel-traverse
- #17221 Reduce generated names size for the 10th-11th (@nicolo-ribaudo)
:house: Internal
-
babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
-
#17263 Remove unused
regenerator-runtime
dep in@babel/runtime
(@nicolo-ribaudo)
-
#17263 Remove unused
-
babel-compat-data
,babel-preset-env
-
babel-compat-data
,babel-standalone
- Other
-
babel-register
-
#16844 Migrate
@babel/register
to cts (@liuxingbaoyu)
-
#16844 Migrate
-
babel-cli
,babel-compat-data
,babel-core
,babel-generator
,babel-helper-compilation-targets
,babel-helper-fixtures
,babel-helper-module-imports
,babel-helper-module-transforms
,babel-helper-plugin-test-runner
,babel-helper-transform-fixture-test-runner
,babel-helpers
,babel-node
,babel-parser
,babel-plugin-transform-modules-amd
,babel-plugin-transform-modules-commonjs
,babel-plugin-transform-modules-systemjs
,babel-plugin-transform-modules-umd
,babel-plugin-transform-react-display-name
,babel-plugin-transform-regenerator
,babel-plugin-transform-runtime
,babel-plugin-transform-typeof-symbol
,babel-plugin-transform-typescript
,babel-preset-env
,babel-register
,babel-standalone
,babel-types
-
babel-plugin-transform-regenerator
- #17205 Inline regenerator in the relevant packages (@nicolo-ribaudo)
- #17205 Inline regenerator in the relevant packages (@nicolo-ribaudo)
-
babel-helpers
,babel-plugin-transform-async-generator-functions
,babel-plugin-transform-regenerator
,babel-preset-env
,babel-runtime-corejs3
- #17205 Inline regenerator in the relevant packages (@nicolo-ribaudo)
-
babel-helpers
,babel-plugin-transform-regenerator
- #17205 Inline regenerator in the relevant packages (@nicolo-ribaudo)
- #17205 Inline regenerator in the relevant packages (@nicolo-ribaudo)
-
babel-helpers
- #17205 Inline regenerator in the relevant packages (@nicolo-ribaudo)
:microscope: Output optimization
-
babel-helpers
,babel-plugin-transform-modules-commonjs
,babel-runtime-corejs3
-
#16538 Reduce
interopRequireWildcard
size (@liuxingbaoyu)
-
#16538 Reduce
-
babel-helpers
,babel-plugin-transform-async-generator-functions
,babel-plugin-transform-regenerator
,babel-preset-env
,babel-runtime-corejs3
-
#17213 Reduce
regeneratorRuntime
size (@liuxingbaoyu)
-
#17213 Reduce
v7.27.0
:eyeglasses: Spec Compliance
:rocket: New Feature
-
babel-helper-create-class-features-plugin
,babel-traverse
,babel-types
-
#17169 Allow
traverseFast
to exit early (@liuxingbaoyu)
-
#17169 Allow
-
babel-parser
,babel-types
-
babel-generator
-
babel-parser
,babel-template
-
#17149 Add
allowYieldOutsideFunction
to parser (@liuxingbaoyu)
-
#17149 Add
-
babel-plugin-transform-typescript
,babel-traverse
-
#17102 feat: Add
upToScope
parameter tohasBinding
(@liuxingbaoyu)
-
#17102 feat: Add
-
babel-parser
-
babel-types
- #17162 feat(babel-types): Add support for BigInt literal conversion in valueToNode (@ishchhabra)
:bug: Bug Fix
-
babel-helper-create-class-features-plugin
,babel-plugin-transform-class-properties
- #16816 fix: Class reference in type throws error (@liuxingbaoyu)
-
babel-traverse
-
#17170 fix: Reset child scopes when
scope.crawl()
(@liuxingbaoyu)
-
#17170 fix: Reset child scopes when
-
babel-helpers
,babel-preset-typescript
,babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
-
babel-cli
-
#17182 fix:
@babel/cli
generates duplicate inline source maps (@liuxingbaoyu)
-
#17182 fix:
-
babel-plugin-transform-named-capturing-groups-regex
,babel-types
:running_woman: Performance
-
babel-types
-
#16870 perf: Improve builders of
@babel/types
(@liuxingbaoyu)
-
#16870 perf: Improve builders of
-
babel-helper-create-regexp-features-plugin
v7.26.10
:eyeglasses: Spec Compliance
:bug: Bug Fix
-
babel-parser
,babel-template
-
babel-core
- #17142 fix: "Map maximum size exceeded" in deepClone (@liuxingbaoyu)
-
babel-parser
,babel-plugin-transform-typescript
-
babel-traverse
- #17151 fix: Should not evaluate vars in child scope (@liuxingbaoyu)
-
babel-generator
-
#17153 fix: Correctly generate
abstract override
(@liuxingbaoyu)
-
#17153 fix: Correctly generate
-
babel-parser
-
babel-helpers
,babel-runtime
,babel-runtime-corejs2
,babel-runtime-corejs3
- #17173 Fix processing of replacement pattern with named capture groups (@mmmsssttt404)
:nail_care: Polish
-
babel-standalone
- #17158 Avoid warnings when re-bundling @babel/standalone with webpack (@liuxingbaoyu)
:house: Internal
v7.26.9
:bug: Bug Fix
-
babel-types
-
#17103 fix: Definition for
TSPropertySignature.kind
(@liuxingbaoyu)
-
#17103 fix: Definition for
-
babel-generator
,babel-types
- #17062 Print TypeScript optional/definite in ClassPrivateProperty (@jamiebuilds-signal)
:house: Internal
-
babel-types
-
#17130 Use
.ts
files with explicit reexports to solve name conflicts (@nicolo-ribaudo)
-
#17130 Use
-
babel-core
-
#17127 Do not depend on
@types/gensync
in Babel 7 (@nicolo-ribaudo)
-
#17127 Do not depend on
v7.26.7
:bug: Bug Fix
-
babel-helpers
,babel-preset-env
,babel-runtime-corejs3
- #17086 Make "object without properties" helpers ES6-compatible (@tquetano-netflix)
-
babel-plugin-transform-typeof-symbol
-
#17085 fix: Correctly handle
typeof
in arrow functions (@liuxingbaoyu)
-
#17085 fix: Correctly handle
-
babel-parser
-
babel-core
- #17052 Do not try to parse .ts configs as JSON if natively supported (@nicolo-ribaudo)
-
babel-plugin-transform-typescript
- #17050 fix: correctly resolve references to non-constant enum members (@branchseer)
-
babel-plugin-transform-typescript
,babel-traverse
,babel-types
-
#17025 fix: Remove type-only
import x = y.z
(@liuxingbaoyu)
-
#17025 fix: Remove type-only
v7.26.0
:rocket: New Feature
-
babel-core
,babel-generator
,babel-parser
,babel-plugin-syntax-import-assertions
,babel-plugin-syntax-import-attributes
,babel-preset-env
,babel-standalone
,babel-types
- #16850 Enable import attributes parsing by default (@nicolo-ribaudo)
-
babel-core
- #16862 feat: support async plugin's pre/post (@timofei-iatsenko)
-
babel-compat-data
,babel-plugin-proposal-regexp-modifiers
,babel-plugin-transform-regexp-modifiers
,babel-preset-env
,babel-standalone
-
babel-parser
-
#16849 feat: add
startIndex
parser option (@DylanPiercey)
-
#16849 feat: add
-
babel-generator
,babel-parser
,babel-plugin-syntax-flow
- #16841 Always enable parsing of Flow enums (@nicolo-ribaudo)
-
babel-helpers
,babel-preset-typescript
,babel-runtime-corejs3
-
#16794 Support
import()
inrewriteImportExtensions
(@liuxingbaoyu)
-
#16794 Support
-
babel-generator
,babel-parser
-
#16708 Add experimental format-preserving mode to
@babel/generator
(@nicolo-ribaudo)
-
#16708 Add experimental format-preserving mode to
:bug: Bug Fix
-
babel-core
- #16928 Workaround Node.js bug for parallel loading of TLA modules (@nicolo-ribaudo)
- #16926 Fix loading of modules with TLA in Node.js 23 (@nicolo-ribaudo)
:nail_care: Polish
-
babel-plugin-proposal-json-modules
,babel-plugin-transform-json-modules
,babel-standalone
-
#16924 Rename
proposal-json-modules
totransform-json-modules
(@nicolo-ribaudo)
-
#16924 Rename
:house: Internal
-
babel-code-frame
,babel-highlight
-
#16896 Inline
@babel/highlight
in@babel/code-frame
(@nicolo-ribaudo)
-
#16896 Inline
-
babel-generator
,babel-parser
,babel-types
-
#16732 Add
kind
toTSModuleDeclaration
(@liuxingbaoyu)
-
#16732 Add
:running_woman: Performance
-
babel-helper-module-transforms
,babel-plugin-transform-modules-commonjs
- #16882 perf: Improve module transforms (@liuxingbaoyu)
v7.25.9
:bug: Bug Fix
-
babel-parser
,babel-template
,babel-types
-
#16905 fix: Keep type annotations in
syntacticPlaceholders
mode (@liuxingbaoyu)
-
#16905 fix: Keep type annotations in
-
babel-helper-compilation-targets
,babel-preset-env
- Other
-
#16884 Analyze
ClassAccessorProperty
to prevent theno-undef
rule (@victorenator)
-
#16884 Analyze
:house: Internal
:running_woman: Performance
-
babel-parser
,babel-types
-
#16918 perf: Make
VISITOR_KEYS
etc. faster to access (@liuxingbaoyu)
-
#16918 perf: Make
v7.25.7
:bug: Bug Fix
-
babel-helper-validator-identifier
-
babel-traverse
- #16814 fix: issue with node path keys updated on unrelated paths (@DylanPiercey)
-
babel-plugin-transform-classes
-
#16797 Use an inclusion rather than exclusion list for
super()
check (@nicolo-ribaudo)
-
#16797 Use an inclusion rather than exclusion list for
-
babel-generator
-
#16788 Fix printing of TS
infer
in compact mode (@nicolo-ribaudo) - #16785 Print TS type annotations for destructuring in assignment pattern (@nicolo-ribaudo)
-
#16778 Respect
[no LineTerminator here]
after nodes (@nicolo-ribaudo)
-
#16788 Fix printing of TS
:nail_care: Polish
-
babel-types
- #16852 Add deprecated JSDOC for fields (@liuxingbaoyu)
:house: Internal
-
babel-core
-
#16820 Allow sync loading of ESM when
--experimental-require-module
(@nicolo-ribaudo)
-
#16820 Allow sync loading of ESM when
-
babel-helper-compilation-targets
,babel-helper-plugin-utils
,babel-preset-env
-
babel-plugin-proposal-destructuring-private
,babel-plugin-syntax-decimal
,babel-plugin-syntax-import-reflection
,babel-standalone
- #16809 Archive syntax-import-reflection and syntax-decimal (@nicolo-ribaudo)
-
babel-generator
-
#16779 Simplify logic for
[no LineTerminator here]
before nodes (@nicolo-ribaudo)
-
#16779 Simplify logic for
:running_woman: Performance
-
babel-plugin-transform-typescript
- #16875 perf: Avoid extra cloning of namespaces (@liuxingbaoyu)
-
babel-types
- #16842 perf: Improve @babel/types builders (@liuxingbaoyu)
-
#16828 Only access
BABEL_TYPES_8_BREAKING
at startup (@nicolo-ribaudo)
v7.25.6
:bug: Bug Fix
-
babel-generator
- #16783 Properly print inner comments in TS array types (@nicolo-ribaudo)
- #16775 fix: jsx whitespace is not properly preserved when retainLines (@liuxingbaoyu)
-
babel-traverse
-
#16727 fix:
path.getAssignmentIdentifiers
may beundefined
(@liuxingbaoyu)
-
#16727 fix:
-
babel-parser
-
babel-helpers
,babel-plugin-transform-optional-chaining
,babel-runtime-corejs3
-
#16769 Only wrap functions in
superPropertyGet
helper (@nicolo-ribaudo)
-
#16769 Only wrap functions in
:nail_care: Polish
-
babel-generator
,babel-plugin-transform-async-to-generator
,babel-plugin-transform-block-scoping
,babel-plugin-transform-class-properties
,babel-plugin-transform-classes
,babel-plugin-transform-duplicate-named-capturing-groups-regex
,babel-plugin-transform-named-capturing-groups-regex
,babel-plugin-transform-react-jsx-development
,babel-plugin-transform-react-jsx
,babel-plugin-transform-react-pure-annotations
,babel-plugin-transform-regenerator
,babel-plugin-transform-runtime
,babel-preset-env
-
#16780 Do not enforce printing space between
(
and comments (@nicolo-ribaudo)
-
#16780 Do not enforce printing space between
-
babel-plugin-syntax-import-assertions
,babel-plugin-syntax-import-attributes
- #16781 Don't throw when enabling both syntax-import-{assertions,attributes} (@nicolo-ribaudo)
-
babel-generator
- #16782 TS union/intersection nested in union does not need parens (@nicolo-ribaudo)
:house: Internal
-
babel-generator
-
#16777 Remove unused
parent
params in the generator (@nicolo-ribaudo)
-
#16777 Remove unused
v7.25.4
:bug: Bug Fix
-
babel-traverse
- #16756 fix: Skip computed key when renaming (@liuxingbaoyu)
-
babel-helper-create-class-features-plugin
,babel-plugin-proposal-decorators
- #16755 fix: Decorator 2018-09 may throw an exception (@liuxingbaoyu)
-
babel-types
- #16710 Visit AST fields nodes according to their syntactical order (@nicolo-ribaudo)
-
babel-generator
-
#16709 Print semicolon after TS
export namespace as A
(@nicolo-ribaudo)
-
#16709 Print semicolon after TS
:nail_care: Polish
-
babel-generator
,babel-plugin-proposal-decorators
,babel-plugin-proposal-destructuring-private
,babel-plugin-proposal-pipeline-operator
,babel-plugin-transform-class-properties
,babel-plugin-transform-destructuring
,babel-plugin-transform-optional-chaining
,babel-plugin-transform-private-methods
,babel-plugin-transform-private-property-in-object
,babel-plugin-transform-typescript
,babel-runtime-corejs2
,babel-runtime
,babel-traverse
- #16722 Avoid unnecessary parens around sequence expressions (@nicolo-ribaudo)
-
babel-generator
,babel-plugin-transform-class-properties
- #16714 Avoid unnecessary parens around exported arrow functions (@nicolo-ribaudo)
-
babel-generator
,babel-plugin-proposal-decorators
,babel-plugin-proposal-destructuring-private
,babel-plugin-transform-object-rest-spread
- #16712 Avoid printing unnecessary parens around object destructuring (@nicolo-ribaudo)
:microscope: Output optimization
-
babel-generator
- #16740 Avoid extra spaces between comments/regexps in compact mode (@nicolo-ribaudo)
v7.25.0
:eyeglasses: Spec Compliance
-
babel-helpers
,babel-plugin-proposal-explicit-resource-management
,babel-runtime-corejs3
-
babel-plugin-transform-typescript
- #16602 Ensure enum members syntactically determinable to be strings do not get reverse mappings (@liuxingbaoyu)
:rocket: New Feature
-
babel-helper-create-class-features-plugin
,babel-helper-function-name
,babel-helper-plugin-utils
,babel-helper-wrap-function
,babel-plugin-bugfix-safari-class-field-initializer-scope
,babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression
,babel-plugin-transform-classes
,babel-plugin-transform-function-name
,babel-preset-env
,babel-traverse
,babel-types
-
#16658 Move
ensureFunctionName
toNodePath.prototype
(@nicolo-ribaudo)
-
#16658 Move
-
babel-helper-hoist-variables
,babel-helper-plugin-utils
,babel-plugin-proposal-async-do-expressions
,babel-plugin-transform-modules-systemjs
,babel-traverse
-
#16644 Move
hoistVariables
toScope.prototype
(@nicolo-ribaudo)
-
#16644 Move
-
babel-helper-create-class-features-plugin
,babel-helper-module-transforms
,babel-helper-plugin-utils
,babel-helper-split-export-declaration
,babel-plugin-transform-classes
,babel-traverse
,babel-types
-
#16645 Move
splitExportDeclaration
toNodePath.prototype
(@nicolo-ribaudo)
-
#16645 Move
-
babel-helper-create-class-features-plugin
,babel-helper-environment-visitor
,babel-helper-module-transforms
,babel-helper-plugin-utils
,babel-helper-remap-async-to-generator
,babel-helper-replace-supers
,babel-plugin-bugfix-firefox-class-in-computed-class-key
,babel-plugin-bugfix-v8-static-class-fields-redefine-readonly
,babel-plugin-transform-async-generator-functions
,babel-plugin-transform-classes
,babel-traverse
-
#16649 Move
environment-visitor
helper into@babel/traverse
(@nicolo-ribaudo)
-
#16649 Move
-
babel-core
,babel-parser
-
#16480 Expose wether a module has TLA or not as
.extra.async
(@nicolo-ribaudo)
-
#16480 Expose wether a module has TLA or not as
-
babel-compat-data
,babel-plugin-bugfix-safari-class-field-initializer-scope
,babel-preset-env
-
#16569 Introduce
bugfix-safari-class-field-initializer-scope
(@davidtaylorhq)
-
#16569 Introduce
-
babel-plugin-transform-block-scoping
,babel-traverse
,babel-types
-
babel-helper-import-to-platform-api
,babel-plugin-proposal-json-modules
-
#16579 Add
uncheckedRequire
option for JSON imports to CJS (@nicolo-ribaudo)
-
#16579 Add
-
babel-helper-transform-fixture-test-runner
,babel-node
-
#16642 Allow using custom config in
babel-node --eval
(@slatereax)
-
#16642 Allow using custom config in
-
babel-compat-data
,babel-helper-create-regexp-features-plugin
,babel-plugin-proposal-duplicate-named-capturing-groups-regex
,babel-plugin-transform-duplicate-named-capturing-groups-regex
,babel-preset-env
,babel-standalone
:bug: Bug Fix
-
babel-generator
- #16678 Print parens around as expressions on the LHS (@nicolo-ribaudo)
-
babel-template
,babel-types
- #15286 fix: Props are lost when the template replaces the node (@liuxingbaoyu)
:house: Internal
- Other
-
babel-generator
-
#16651 Simplify the printing logic for
(
before ambiguous tokens (@nicolo-ribaudo)
-
#16651 Simplify the printing logic for
-
babel-helper-function-name
,babel-plugin-transform-arrow-functions
,babel-plugin-transform-function-name
,babel-preset-env
,babel-traverse
-
#16652 Simplify
helper-function-name
logic (@nicolo-ribaudo)
-
#16652 Simplify
:running_woman: Performance
-
babel-parser
,babel-plugin-proposal-pipeline-operator
- #16461 Some minor parser performance improvements for ts (@liuxingbaoyu)
:microscope: Output optimization
-
babel-plugin-transform-classes
-
#16670 Reduce redundant
assertThisInitialized
(@liuxingbaoyu)
-
#16670 Reduce redundant
-
babel-helper-create-class-features-plugin
,babel-helper-replace-supers
,babel-helpers
,babel-plugin-proposal-decorators
,babel-plugin-transform-class-properties
,babel-plugin-transform-classes
,babel-plugin-transform-exponentiation-operator
,babel-plugin-transform-object-super
,babel-plugin-transform-private-methods
,babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
-
#16374 Improve
super.x
output (@liuxingbaoyu)
-
#16374 Improve
-
babel-plugin-transform-class-properties
,babel-plugin-transform-classes
- #16656 Simplify output for anonymous classes with no methods (@nicolo-ribaudo)
v7.24.8
:eyeglasses: Spec Compliance
-
babel-parser
-
#16567 Do not use strict mode in TS
declare
(@liuxingbaoyu)
-
#16567 Do not use strict mode in TS
:bug: Bug Fix
-
babel-generator
-
#16630 Correctly print parens around
in
infor
heads (@nicolo-ribaudo) -
#16626 Fix printing of comments in
await using
(@nicolo-ribaudo) - #16591 fix typescript code generation for yield expression inside type expre… (@SreeXD)
-
#16630 Correctly print parens around
-
babel-parser
-
#16613 Disallow destructuring assignment in
using
declarations (@H0onnn) -
#16490 fix: do not add
.value: undefined
to regexp literals (@liuxingbaoyu)
-
#16613 Disallow destructuring assignment in
-
babel-types
-
#16615 Remove boolean props from
ObjectTypeInternalSlot
visitor keys (@nicolo-ribaudo)
-
#16615 Remove boolean props from
-
babel-plugin-transform-typescript
-
#16566 fix: Correctly handle
export import x =
(@liuxingbaoyu)
-
#16566 fix: Correctly handle
:nail_care: Polish
-
babel-generator
-
#16625 Avoid unnecessary parens around
async
infor await
(@nicolo-ribaudo)
-
#16625 Avoid unnecessary parens around
-
babel-traverse
-
#16619 Avoid checking
Scope.globals
multiple times (@liuxingbaoyu)
-
#16619 Avoid checking
v7.24.7
:bug: Bug Fix
-
babel-node
- #16554 Allow extra flags in babel-node (@nicolo-ribaudo)
-
babel-traverse
-
#16522 fix: incorrect
constantViolations
with destructuring (@liuxingbaoyu)
-
#16522 fix: incorrect
-
babel-helper-transform-fixture-test-runner
,babel-plugin-proposal-explicit-resource-management
-
#16524 fix: Transform
using
inswitch
correctly (@liuxingbaoyu)
-
#16524 fix: Transform
:house: Internal
-
babel-helpers
,babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
- #16525 Delete unused array helpers (@blakewilson)
v7.24.6
:bug: Bug Fix
-
babel-helper-create-class-features-plugin
,babel-plugin-transform-class-properties
- #16514 Fix source maps for private member expressions (@nicolo-ribaudo)
-
babel-core
,babel-generator
,babel-plugin-transform-modules-commonjs
- #16515 Fix source maps for template literals (@nicolo-ribaudo)
-
babel-helper-create-class-features-plugin
,babel-plugin-proposal-decorators
-
babel-helpers
,babel-plugin-proposal-decorators
,babel-runtime-corejs3
-
babel-parser
,babel-plugin-transform-typescript
-
#16476 fix: Correctly parse
cls.fn<C> = x
(@liuxingbaoyu)
-
#16476 fix: Correctly parse
:house: Internal
-
babel-core
,babel-helpers
,babel-plugin-transform-runtime
,babel-preset-env
,babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
- #16501 Generate helper metadata at build time (@nicolo-ribaudo)
-
babel-helpers
-
#16499 Add
tsconfig.json
for@babel/helpers/src/helpers
(@nicolo-ribaudo)
-
#16499 Add
-
babel-cli
,babel-helpers
,babel-plugin-external-helpers
,babel-plugin-proposal-decorators
,babel-plugin-transform-class-properties
,babel-plugin-transform-modules-commonjs
,babel-plugin-transform-modules-systemjs
,babel-plugin-transform-runtime
,babel-preset-env
,babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
- #16495 Move all runtime helpers to individual files (@nicolo-ribaudo)
-
babel-parser
,babel-traverse
- #16482 Statically generate boilerplate for bitfield accessors (@nicolo-ribaudo)
- Other
v7.24.5
:bug: Bug Fix
-
babel-plugin-transform-classes
,babel-traverse
- #16377 fix: TypeScript annotation affects output (@liuxingbaoyu)
-
babel-helpers
,babel-plugin-proposal-explicit-resource-management
,babel-runtime-corejs3
:nail_care: Polish
:house: Internal
- Other
- #16414 Relax ESLint peerDependency constraint to allow v9 (@liuxingbaoyu)
-
babel-parser
-
#16425 Improve
@babel/parser
AST types (@nicolo-ribaudo) -
#16417 Always pass type argument to
.startNode
(@nicolo-ribaudo)
-
#16425 Improve
-
babel-helper-create-class-features-plugin
,babel-helper-member-expression-to-functions
,babel-helper-module-transforms
,babel-helper-split-export-declaration
,babel-helper-wrap-function
,babel-helpers
,babel-plugin-bugfix-firefox-class-in-computed-class-key
,babel-plugin-proposal-explicit-resource-management
,babel-plugin-transform-block-scoping
,babel-plugin-transform-destructuring
,babel-plugin-transform-object-rest-spread
,babel-plugin-transform-optional-chaining
,babel-plugin-transform-parameters
,babel-plugin-transform-private-property-in-object
,babel-plugin-transform-react-jsx-self
,babel-plugin-transform-typeof-symbol
,babel-plugin-transform-typescript
,babel-traverse
-
#16439 Make
NodePath<T | U>
distributive (@nicolo-ribaudo)
-
#16439 Make
-
babel-plugin-proposal-partial-application
,babel-types
-
#16421 Remove
JSXNamespacedName
from validCallExpression
args (@nicolo-ribaudo)
-
#16421 Remove
-
babel-plugin-transform-class-properties
,babel-preset-env
- #16406 Do not load unnecessary Babel 7 syntax plugins in Babel 8 (@nicolo-ribaudo)
:running_woman: Performance
-
babel-helpers
,babel-preset-env
,babel-runtime-corejs3
v7.24.4
:eyeglasses: Spec Compliance
-
babel-parser
-
babel-helpers
,babel-plugin-proposal-decorators
,babel-runtime-corejs3
:bug: Bug Fix
-
babel-generator
-
#16402 fix: Correctly prints
{ [key in Bar]? }
(@liuxingbaoyu) -
#16394 fix: Correctly generate
TSMappedType
(@liuxingbaoyu)
-
#16402 fix: Correctly prints
-
babel-compat-data
,babel-plugin-bugfix-firefox-class-in-computed-class-key
,babel-preset-env
- #16390 Create bugfix plugin for classes in computed keys in Firefox (@nicolo-ribaudo)
-
babel-helper-create-class-features-plugin
,babel-plugin-proposal-decorators
- #16387 fix: support mutated outer decorated class binding (@JLHwung)
-
#16385 fix: Decorators when
super()
exists andprotoInit
is not needed (@liuxingbaoyu)
-
babel-plugin-transform-block-scoping
-
#16384 fix: Transform scoping for
for X
in loop (@liuxingbaoyu) -
#16368 fix: Capture
let
when thefor
body is not a block (@liuxingbaoyu)
-
#16384 fix: Transform scoping for
-
babel-core
,babel-plugin-transform-block-scoped-functions
,babel-plugin-transform-block-scoping
- #16363 Fix incorrect function hoisting in some case statements (@luiscubal)
v7.24.1
:bug: Bug Fix
-
babel-generator
-
#16648 Fix parens detection for object&function in
as
/satisfies
(@nicolo-ribaudo)
-
#16648 Fix parens detection for object&function in
v7.24.0
:rocket: New Feature
-
babel-standalone
-
babel-core
,babel-helper-create-class-features-plugin
,babel-helpers
,babel-plugin-transform-class-properties
-
#16267 Implement
noUninitializedPrivateFieldAccess
assumption (@nicolo-ribaudo)
-
#16267 Implement
-
babel-helper-create-class-features-plugin
,babel-helpers
,babel-plugin-proposal-decorators
,babel-plugin-proposal-pipeline-operator
,babel-plugin-syntax-decorators
,babel-plugin-transform-class-properties
,babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
-
babel-preset-flow
-
#16309 [babel 7] Allow setting
ignoreExtensions
in Flow preset (@nicolo-ribaudo) -
#16284 Add
experimental_useHermesParser
option inpreset-flow
(@liuxingbaoyu)
-
#16309 [babel 7] Allow setting
-
babel-helper-import-to-platform-api
,babel-plugin-proposal-import-wasm-source
,babel-plugin-proposal-json-modules
,babel-standalone
- #16172 Add transform support for JSON modules imports (@nicolo-ribaudo)
-
babel-plugin-transform-runtime
-
#16241 Add back
moduleName
option to@babel/plugin-transform-runtime
(@nicolo-ribaudo)
-
#16241 Add back
-
babel-parser
,babel-types
-
#16277 Allow import attributes for
TSImportType
(@sosukesuzuki)
-
#16277 Allow import attributes for
:bug: Bug Fix
-
babel-plugin-proposal-do-expressions
,babel-traverse
-
babel-helper-create-class-features-plugin
,babel-plugin-transform-private-methods
,babel-plugin-transform-private-property-in-object
-
#16312 Fix class private properties when
privateFieldsAsSymbols
(@liuxingbaoyu)
-
#16312 Fix class private properties when
-
babel-helper-create-class-features-plugin
,babel-plugin-transform-private-methods
-
#16307 Fix the support of
arguments
in privateget/set
method (@liuxingbaoyu)
-
#16307 Fix the support of
-
babel-helper-create-class-features-plugin
,babel-helpers
,babel-plugin-proposal-decorators
- #16287 Reduce decorator static property size (@liuxingbaoyu)
-
babel-helper-create-class-features-plugin
,babel-plugin-proposal-decorators
- #16281 Fix evaluation order of decorators with cached receiver (@nicolo-ribaudo)
- #16279 Fix decorator this memoization (@JLHwung)
-
#16266 Preserve
static
on decorated privateaccessor
(@nicolo-ribaudo) - #16258 fix: handle decorated async private method and generator (@JLHwung)
-
babel-helper-create-class-features-plugin
,babel-plugin-proposal-decorators
,babel-plugin-transform-async-generator-functions
,babel-plugin-transform-private-methods
,babel-plugin-transform-private-property-in-object
,babel-plugin-transform-typescript
,babel-preset-env
-
#16275 Fix class private properties when
privateFieldsAsProperties
(@liuxingbaoyu)
-
#16275 Fix class private properties when
-
babel-helpers
-
#16268 Do not consider
arguments
in a helper as a global reference (@nicolo-ribaudo)
-
#16268 Do not consider
-
babel-helpers
,babel-plugin-proposal-decorators
- #16270 Handle symbol key class elements decoration (@JLHwung)
-
#16265 Do not define
access.get
for public setter decorators (@nicolo-ribaudo)
:nail_care: Polish
-
babel-core
,babel-helper-create-class-features-plugin
,babel-preset-env
-
#12428 Suggest using
BABEL_SHOW_CONFIG_FOR
for config problems (@nicolo-ribaudo)
-
#12428 Suggest using
:house: Internal
-
babel-helper-transform-fixture-test-runner
-
#16278 Continue writing
output.js
whenexec.js
throws (@liuxingbaoyu)
-
#16278 Continue writing
:microscope: Output optimization
-
babel-helper-create-class-features-plugin
,babel-plugin-proposal-decorators
- #16306 Avoid intermediate functions for private accessors with decs (@nicolo-ribaudo)
-
babel-helper-create-class-features-plugin
,babel-helpers
,babel-plugin-proposal-decorators
,babel-plugin-proposal-pipeline-operator
,babel-plugin-transform-class-properties
- #16294 More aggressively inline decorators in the static block (@nicolo-ribaudo)
-
babel-helper-create-class-features-plugin
,babel-helpers
,babel-plugin-transform-private-methods
-
#16283 Do not use
classPrivateMethodGet
(@liuxingbaoyu)
-
#16283 Do not use
-
babel-helper-create-class-features-plugin
,babel-helpers
,babel-plugin-proposal-decorators
- #16287 Reduce decorator static property size (@liuxingbaoyu)
-
babel-helper-create-class-features-plugin
,babel-plugin-proposal-decorators
,babel-plugin-transform-class-properties
-
babel-helper-create-class-features-plugin
,babel-helper-fixtures
,babel-helpers
,babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining
,babel-plugin-proposal-decorators
,babel-plugin-proposal-destructuring-private
,babel-plugin-proposal-optional-chaining-assign
,babel-plugin-transform-class-properties
,babel-plugin-transform-class-static-block
,babel-plugin-transform-private-methods
,babel-plugin-transform-private-property-in-object
,babel-preset-env
,babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
- #16261 Do not use descriptors for private class elements (@nicolo-ribaudo)
-
babel-helpers
,babel-plugin-proposal-decorators
- #16263 Reduce helper size for decorator 2023-11 (@liuxingbaoyu)
mantinedev/mantine (@mantine/colors-generator)
v7.17.7
v7.17.6
: 7.17.7
What's Changed
-
[@mantine/core]
Table: FixstickyHeader
prop having impact onth
selector specificity (#7767) -
[@mantine.core]
NumberInput: Fixmax
prop not reseting value on blur if the value is larger than Number.MAX_SAFE_INTEGER (#7766) -
[@mantine.hook]
use-resize-observer: Fix width/height not being calculated correctly for elements withbox-sizing: content-box
(#7764) -
[@mantine/core]
NavLink: FixrightSection={null}
not disabling chevron -
[@mantine.hook]
use-hotkeys: FixusePhysicalKeys
option not working with spacial keys (#7761) -
[@mantine/core]
Modal: Fix scrollarea used inside the modal affecting the position of the close button (#7738) -
[@mantine/core]
Select: Fix defineddefaultValue
being ignored withdata
updates (#7742) -
[@mantine/core]
ScrollArea: Fix content overflowing the viewport in some cases (#7748) -
[@mantine/charts]
RadarChart: Add tooltip and dots support (#7749) -
[@mantine/modals]
FixconfirmProps
not available inupdateModal
function (#7750) -
[@mantine/hooks]
use-debounced-callback: FixflushOnUnmount
not working (#7745) -
[@mantine/core]
Table: Add missing TableScrollContainerProps export
New Contributors
- @gfazioli made their first contribution in https://github.com/mantinedev/mantine/pull/7740
- @LilyStilson made their first contribution in https://github.com/mantinedev/mantine/pull/7749
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.5...7.17.6
v7.17.5
What's Changed
-
[@mantine/form]
Addform.getInitialValues
handler -
[@mantine/core]
RangeSlider: Fix first thumb not being focused when the component root is clicked (#7731) -
[@mantine/core]
PillsInput: Remove lefovermultiline
prop types (#7727) -
[@mantine/charts]
CompositeChart: Fixtype="stacked"
being confused with BarChart behavior -
[@mantine/core]
Notification: Allow changing role attribute on the root element (#7682) -
[@mantine/hooks]
use-idle: Fixwheel
event not being tracked (#7669) -
[@mantine/core]
Table: AddmaxHeight
prop support toTable.ScrollContainer
(#7713) -
[@mantine/core]
Modal: Fix incorrect Escape key handling during IME composition (#7700) -
[@mantine/form]
AdddefaultChecked
toform.getInputProps
return type (#7702) -
[@mantine/hooks]
use-hotkeys: Update matching logic to include both physical and layout keys (#7708) -
[@mantine/dates]
Fix day.js isSame function not working correctly for non-Gregorian calendars (#7712) -
[@mantine.core]
SegmentedControl: Fix animation not working with controlled value (#7721)
New Contributors
- @danielytics made their first contribution in https://github.com/mantinedev/mantine/pull/7708
- @tvandoren made their first contribution in https://github.com/mantinedev/mantine/pull/7702
- @AliAkrem made their first contribution in https://github.com/mantinedev/mantine/pull/7669
- @scato3 made their first contribution in https://github.com/mantinedev/mantine/pull/7739
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.4...7.17.5
v7.17.4
What's Changed
-
[@mantine/hooks]
use-orientation: Add option to customize initial values (#7657) -
[@mantine/core]
FixselectFirstOptionOnChange
not working correctly (#7583) -
[@mantine/core]
Fix error thrown when Textarea was used on cloudflare workers (#7637) -
[@mantine/core]
Allow spacing, radius and font-size types augmentation (#7644) -
[@mantine/core]
ScrollArea: Fix scrollbars being invisible whenoffsetScrollbars='present'
is not set (#7647) -
[@mantine/core]
TypographyStylesProvider: Fix headings font-family not matching the value defined on the theme (#7651) -
[@mantine/core]
Paper: Add CSS variable for border-color for easier overrides (#7654) -
[@mantine/core]
Table: FixstickyHeader
prop affecting border rendering (#7658) -
[@mantine/core]
Slider: FixonChangeEnd
using stale external state (#7660)
New Contributors
- @Han5991 made their first contribution in https://github.com/mantinedev/mantine/pull/7660
- @WojakGra made their first contribution in https://github.com/mantinedev/mantine/pull/7658
- @drew-r made their first contribution in https://github.com/mantinedev/mantine/pull/7651
- @mark-night made their first contribution in https://github.com/mantinedev/mantine/pull/7644
- @Odonno made their first contribution in https://github.com/mantinedev/mantine/pull/7636
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.3...7.17.4
v7.17.3
What's Changed
-
[@mantine/core]
Pill: Fix incorrectremoveButtonProps
type -
[@mantine/modals]
Fixdata-*
attributes not being included in types for confirm and cancel button props -
[@mantine/core]
Fix incorrect selected option position handling when search changes in Select, MultiSelect, Autocomplete and TagsInput (#7583) -
[@mantine/core]
SegmentedControl: Fix incorrect indicator position whendata
is updated (#7615) -
[@mantine/core]
ScrollArea: Fix scrollbars being revealed on hover when hidden withoffsetScrollbars="present"
(#7599) -
[@mantine/core]
AppShell: Fix disabled prop not removing aside and footer margins (#7609) -
[@mantine/modals]
Fix incorrect esm exports paths (#7603) -
[@mantine/core]
Checkbox: Set indeterminate attribute on the DOM node (#7608, #7613)
New Contributors
- @andrewborstein made their first contribution in https://github.com/mantinedev/mantine/pull/7613
- @connorads made their first contribution in https://github.com/mantinedev/mantine/pull/7603
- @ofk made their first contribution in https://github.com/mantinedev/mantine/pull/7609
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.2...7.17.3
v7.17.2
What's Changed
-
[@mantine/core]
Menu: Fix missingwithProps
function -
[@mantine/core]
Transition: Fix 1px child elements shift in Chrome for animations with scaling -
[@mantine/core]
ScrollArea: AddoffsetScrollbars="present"
option support (#7527) -
[@mantine/core]
Notification: AddloaderProps
to pass props down to Loader component (#7577) -
[@mantine/core]
Tooltip: Fixref
prop not working correctly on the child element of the tooltip (#7578) -
[@mantine/core]
Select: Fix dropdown not openning in Firefox (#7539)
New Contributors
- @yushihang made their first contribution in https://github.com/mantinedev/mantine/pull/7579
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.1...7.17.2
v7.17.1
What's Changed
-
[@mantine/core]
Select: Fix caret displayed when the readonly input is clicked (#7476) -
[@mantine/charts]
Fix incorrect types ofclassNames
prop of PieChart and DonutChart components (#7475) -
[@mantine/charts]
BubbleChart: Fix broken layout whenlabel
prop is used with React 19 -
[@mantine/form]
Fix missingisJSONString
export (#7508) -
[@mantine/core]
Fix MultiSelect and TagsInputs dropdowns still being opened on click when components were used inside disabled fieldset (#7528) -
[@mantine/code-highlight]
Fallback unsupported code to plaintext (#7497) -
[@mantine/emotion]
Improve "Go to definition" support forcreateStyles
classes (#7526)
New Contributors
- @kino90 made their first contribution in https://github.com/mantinedev/mantine/pull/7513
- @tranhl made their first contribution in https://github.com/mantinedev/mantine/pull/7526
- @imcvampire made their first contribution in https://github.com/mantinedev/mantine/pull/7497
- @ched-dev made their first contribution in https://github.com/mantinedev/mantine/pull/7480
- @ysalo made their first contribution in https://github.com/mantinedev/mantine/pull/7508
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.0...7.17.1
v7.17.0
: 🌶️
View changelog with demos on mantine.dev website
Last 7.x minor release
This is the last minor release in the 7.x
series. The next release will be 8.0
with breaking changes and new features.
You are welcome to review the changelog/code and provide feedback and bug reports in Discord or GitHub discussions:
- Changelog – https://alpha.mantine.dev/changelog/8-0-0/
- Source code – https://github.com/mantinedev/mantine/tree/8.0
How to update your project dependencies to the new alpha version:
- Open your
package.json
- Find all
@mantine/
packages - Update version of all
@mantine/
packages to8.0.0-alpha.0
- Install dependencies with your package manager, for example,
yarn
ornpm install
Important notes:
- 8.0 release is scheduled for May 5th. Until then you can influence the included breaking changes by proving feedback using Discord or GitHub discussions.
- Currently most of planned breaking changes are implemented – it is not planned to introduce other significant breaking changes (unless new versions of recharts or tiptap are released before May 5th).
- You can find the updated source code in 8.0 branch on GitHub
- Since the changes to codebase are not that significant compared to previous major releases, it is not planned to deprecate 7.x version as soon as 8.0 is release. 7.17.x patches are planned to be released for some time – if you are not ready to migrate to 8.x, you will still be able to receive bug fixes for 7.x (no new features though).
Portal reuseTargetNode prop
Portal component now supports reuseTargetNode
prop which allows to reuse the same target node for all instances.
This option is more performant than the previous behavior, it is recommended to be enabled.
This option will be enabled by default in the 8.0
major release.
To enable reuseTargetNode option in all components that depend on Portal, add the following code to your theme:
import { createTheme, Portal } from '@​mantine/core';
export const theme = createTheme({
components: {
Portal: Portal.extend({
defaultProps: {
reuseTargetNode: true,
},
}),
},
});
Example usage. In the following example, all three paragraphs will be rendered in the same target node:
import { Portal } from '@​mantine/core';
function Demo() {
return (
<>
<Portal reuseTargetNode>
<p>First</p>
</Portal>
<Portal reuseTargetNode>
<p>Second</p>
</Portal>
<Portal reuseTargetNode>
<p>Third</p>
</Portal>
</>
);
}
use-form formRootRule
formRootRule
is a special rule path that can be used to validate objects and arrays
alongside with their nested fields. For example, it is useful when you want to capture
a list of values, validate each value individually and then validate the list itself
to not be empty:
import { IconTrash } from '@​tabler/icons-react';
import { ActionIcon, Button, Group, Switch, Text, TextInput } from '@​mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@​mantine/form';
import { randomId } from '@​mantine/hooks';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
employees: [{ name: '', active: false, key: randomId() }],
},
validate: {
employees: {
[formRootRule]: isNotEmpty('At least one employee is required'),
name: isNotEmpty('Name is required'),
},
},
});
const fields = form.getValues().employees.map((item, index) => (
<Group key={item.key} mt="xs">
<TextInput
placeholder="John Doe"
withAsterisk
style={{ flex: 1 }}
key={form.key(`employees.${index}.name`)}
{...form.getInputProps(`employees.${index}.name`)}
/>
<Switch
label="Active"
key={form.key(`employees.${index}.active`)}
{...form.getInputProps(`employees.${index}.active`, { type: 'checkbox' })}
/>
<ActionIcon color="red" onClick={() => form.removeListItem('employees', index)}>
<IconTrash size={16} />
</ActionIcon>
</Group>
));
return (
<form onSubmit={form.onSubmit(() => {})}>
{fields.length > 0 ? (
<Group mb="xs">
<Text fw={500} size="sm" style={{ flex: 1 }}>
Name
</Text>
<Text fw={500} size="sm" pr={90}>
Status
</Text>
</Group>
) : (
<Text c="dimmed" ta="center">
No one here...
</Text>
)}
{fields}
{form.errors.employees && (
<Text c="red" size="sm" mt="sm">
{form.errors.employees}
</Text>
)}
<Group justify="space-between" mt="md">
<Button
variant="default"
onClick={() => {
form.insertListItem('employees', { name: '', active: false, key: randomId() });
form.clearFieldError('employees');
}}
>
Add employee
</Button>
<Button type="submit">Submit</Button>
</Group>
</form>
);
}
Another example is to validate an object fields combination:
import { Button, Text, TextInput } from '@​mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
user: {
firstName: '',
lastName: '',
},
},
validate: {
user: {
[formRootRule]: (value) =>
value.firstName.trim().length > 0 && value.firstName === value.lastName
? 'First name and last name cannot be the same'
: null,
firstName: isNotEmpty('First name is required'),
lastName: isNotEmpty('Last name is required'),
},
},
});
return (
<form onSubmit={form.onSubmit(() => {})}>
<TextInput
label="First name"
placeholder="First name"
{...form.getInputProps('user.firstName')}
/>
<TextInput
label="Last name"
placeholder="Last name"
mt="md"
{...form.getInputProps('user.lastName')}
/>
{form.errors.user && (
<Text c="red" mt={5} fz="sm">
{form.errors.user}
</Text>
)}
<Button type="submit" mt="lg">
Submit
</Button>
</form>
);
}
isJSONString and isNotEmptyHTML form validators
New isJSONString
and isNotEmptyHTML
form validators:
-
isNotEmptyHTML
checks that form value is not an empty HTML string. Empty string, string with only HTML tags and whitespace are considered to be empty. -
isJSONString
checks that form value is a valid JSON string.
import { isJSONString, useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: {
json: '',
html: '',
},
validate: {
json: isJSONString('Invalid JSON string'),
html: isNotEmptyHTML('HTML cannot be empty'),
},
});
Popover onDismiss
Popover now supports onDismiss
prop, which makes it easier
to subscribe to outside clicks and escape key presses to close popover:
import { useState } from 'react';
import { Button, Popover } from '@​mantine/core';
function Demo() {
const [opened, setOpened] = useState(false);
return (
<Popover opened={opened} onDismiss={() => setOpened(false)}>
<Popover.Target>
<Button onClick={() => setOpened((o) => !o)}>Toggle popover</Button>
</Popover.Target>
<Popover.Dropdown>Dropdown</Popover.Dropdown>
</Popover>
);
}
MantineProvider env
MantineProvider component now supports env
prop.
It can be used in test environment to disable some features that
might impact tests and/or make it harder to test components:
- transitions that mount/unmount child component with delay
- portals that render child component in a different part of the DOM
To enable test environment, set env
to test
:
import { MantineProvider } from '@​mantine/core';
function Demo() {
return <MantineProvider env="test">{/* Your app here */}</MantineProvider>;
}
use-file-dialog hook
New use-file-dialog allows capturing one or more files from the user without file input element:
import { Button, Group, List } from '@​mantine/core';
import { useFileDialog } from '@​mantine/hooks';
function Demo() {
const fileDialog = useFileDialog();
const pickedFiles = Array.from(fileDialog.files || []).map((file) => (
<List.Item key={file.name}>{file.name}</List.Item>
));
return (
<div>
<Group>
<Button onClick={fileDialog.open}>Pick files</Button>
{pickedFiles.length > 0 && (
<Button variant="default" onClick={fileDialog.reset}>
Reset
</Button>
)}
</Group>
{pickedFiles.length > 0 && <List mt="lg">{pickedFiles}</List>}
</div>
);
}
Remix deprecation
Remix is deprecated, the documentation related to Remix integration was removed, use React Router instead. To simplify maintenance, Remix/React Router templates were archived and will not be updated.
Help center updates
- I get hydration warning about data-mantine-color-scheme attribute, what does it mean? question
- How can I apply styles to all Mantine components? question
Other changes
-
Tooltip now supports customizing
middlewares
-
ScrollArea now supports
overscrollBehavior
prop -
Affix now supports
theme.spacing
values forposition
prop -
Anchor now supports
underline="not-hover"
option to display underline only when the link is not hovered
v7.16.3
What's Changed
-
[@mantine/core]
Removeuse client
fromisLightColor
function -
[@mantine/core]
TextInput: Fix autocomplete forvariant
prop not working -
[@mantine/carousel]
Fix aria-hidden warning displayed in Chrome console when indicator is clicked (#7414) -
[@mantine/core]
Fix clear button overlaying input content in Autocomplete and other similar components (#7431) -
[@mantine/core]
Combobox: Fix incorrect dropdown padding when used with ScrollArea (#7450) -
[@mantine/core]
Fix0
gradientdeg
value not working correctly (#7444) -
[@mantine/core]
ScrollArea: Fix user-select being left as none after interaction with scrollbar in some edge cases (#7423) -
[@mantine/dates]
DateInput: Fix infinite loop in Safari (#7442)
New Contributors
- @kingflamez made their first contribution in https://github.com/mantinedev/mantine/pull/7442
- @webkonstantin made their first contribution in https://github.com/mantinedev/mantine/pull/7423
- @marcinlukanus made their first contribution in https://github.com/mantinedev/mantine/pull/7444
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.2...7.16.3
v7.16.2
What's Changed
-
[@mantine/core]
Tooltip: Migrate from deprecateduseDelayGroupContext
hook touseDelayGroup
-
[@mantine/core]
Tabs: FixtabIndex={0}
set onTabs.Tab
being ignored (#7407) -
[@mantine/core]
Fix chevron icon not being clickable in Select and MultiSelect components (#7395) -
[@mantine/dates]
MonthPicker: Fix infinite useEffect with use-form in some cases (#7389) -
[@mantine/hooks]
use-hotkeys: Add better support for non-QUERTY keyboards (#7390) -
[@mantine/dates]
DateTimePicker: Fix timezone conversion being applied twice (#7400) -
[@mantine/hooks]
Fix potential dangerous access of ref value in useEffect cleanup (#7404)
New Contributors
- @ohansFavour made their first contribution in https://github.com/mantinedev/mantine/pull/7402
- @danpeavey-classdojo made their first contribution in https://github.com/mantinedev/mantine/pull/7390
- @openscript made their first contribution in https://github.com/mantinedev/mantine/pull/7389
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.1...7.16.2
v7.16.1
What's Changed
-
[@mantine/core]
Menu: AddwithInitialFocusPlaceholder
prop support -
[@mantine/core]
Slider: FixonChangeEnd
being called whendisabled
prop is set -
[@mantine/core]
Add option to customize chevron color withchevronColor
prop in Select and MultiSelect components -
[@mantine/core]
Fix incorrect styles of nested tables (#7354) -
[@mantine/core]
: NumberInput: FixonChange
being called inonBlur
if the value has not been changed (#7383) -
[@mantine/core]
Menu: Adddata-disabled
prop handling to Menu.Item component (#7377) -
[@mantine/form]
Fix incorrect values handling inform.resetDirty
(#7373) -
[@mantine/chart]
AreaChart: FixgridColor
andtextColor
props being passed as attributes to the DOM node (#7378) -
[@mantine/hooks]
use-in-viewport: Fix tracking being stopped when used with a dnd library (#7359) -
[@mantine/core]
MantineProvider: Fix jest tests not running in case there is incorrectwindow.matchMedia
polyfill implementation (#7360) -
[@mantine/core]
Modal: Fix Escape key not working in old Safari versions (#7358)
New Contributors
- @kidonng made their first contribution in https://github.com/mantinedev/mantine/pull/7364
- @Benjaminsson made their first contribution in https://github.com/mantinedev/mantine/pull/7360
- @cameronrdecker made their first contribution in https://github.com/mantinedev/mantine/pull/7380
- @tomrehnstrom made their first contribution in https://github.com/mantinedev/mantine/pull/7373
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.0...7.16.1
v7.16.0
: 🌶️
View changelog with demos on mantine.dev website
use-scroll-spy hook
New use-scroll-spy hook tracks scroll position and returns index of the element that is currently in the viewport. It is useful for creating table of contents components (like in mantine.dev sidebar on the right side) and similar features.
import { Text, UnstyledButton } from '@​mantine/core';
import { useScrollSpy } from '@​mantine/hooks';
function Demo() {
const spy = useScrollSpy({
selector: '#mdx :is(h1, h2, h3, h4, h5, h6)',
});
const headings = spy.data.map((heading, index) => (
<li
key={heading.id}
style={{
listStylePosition: 'inside',
paddingInlineStart: heading.depth * 20,
background: index === spy.active ? 'var(--mantine-color-blue-light)' : undefined,
}}
>
<UnstyledButton onClick={() => heading.getNode().scrollIntoView()}>
{heading.value}
</UnstyledButton>
</li>
));
return (
<div>
<Text>Scroll to heading:</Text>
<ul style={{ margin: 0, padding: 0 }}>{headings}</ul>
</div>
);
}
TableOfContents component
New TableOfContents component is built on top of use-scroll-spy
hook
and can be used to create table of contents components like the one on the right side of mantine.dev
documentation sidebar:
import { TableOfContents } from '@​mantine/core';
function Demo() {
return (
<TableOfContents
variant="filled"
color="blue"
size="sm"
radius="sm"
scrollSpyOptions={{
selector: '#mdx :is(h1, h2, h3, h4, h5, h6)',
}}
getControlProps={({ data }) => ({
onClick: () => data.getNode().scrollIntoView(),
children: data.value,
})}
/>
);
}
Input.ClearButton component
New Input.ClearButton
component can be used to add clear button to custom inputs
based on Input
component. size
of the clear button is automatically
inherited from the input:
import { Input } from '@​mantine/core';
function Demo() {
const [value, setValue] = useState('clearable');
return (
<Input
placeholder="Clearable input"
value={value}
onChange={(event) => setValue(event.currentTarget.value)}
rightSection={value !== '' ? <Input.ClearButton onClick={() => setValue('')} /> : undefined}
rightSectionPointerEvents="auto"
size="sm"
/>
);
}
Popover with overlay
Popover and other components based on it now support withOverlay
prop:
import { Anchor, Avatar, Group, Popover, Stack, Text } from '@​mantine/core';
function Demo() {
return (
<Popover
width={320}
shadow="md"
withArrow
withOverlay
overlayProps={{ zIndex: 10000, blur: '8px' }}
zIndex={10001}
>
<Popover.Target>
<UnstyledButton style={{ zIndex: 10001, position: 'relative' }}>
<Avatar src="https://avatars.githubusercontent.com/u/79146003?s=200&v=4" radius="xl" />
</UnstyledButton>
</Popover.Target>
<Popover.Dropdown>
<Group>
<Avatar src="https://avatars.githubusercontent.com/u/79146003?s=200&v=4" radius="xl" />
<Stack gap={5}>
<Text size="sm" fw={700} style={{ lineHeight: 1 }}>
Mantine
</Text>
<Anchor href="https://x.com/mantinedev" c="dimmed" size="xs" style={{ lineHeight: 1 }}>
@​mantinedev
</Anchor>
</Stack>
</Group>
<Text size="sm" mt="md">
Customizable React components and hooks library with focus on usability, accessibility and
developer experience
</Text>
<Group mt="md" gap="xl">
<Text size="sm">
<b>0</b> Following
</Text>
<Text size="sm">
<b>1,174</b> Followers
</Text>
</Group>
</Popover.Dropdown>
</Popover>
);
}
Container queries in Carousel
You can now use container queries in Carousel component. With container queries, all responsive values are adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { Carousel } from '@​mantine/carousel';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// It is not required in real projects
<div
style={{
resize: 'horizontal',
overflow: 'hidden',
maxWidth: '100%',
minWidth: 250,
padding: 10,
}}
>
<Carousel
withIndicators
height={200}
type="container"
slideSize={{ base: '100%', '300px': '50%', '500px': '33.333333%' }}
slideGap={{ base: 0, '300px': 'md', '500px': 'lg' }}
loop
align="start"
>
<Carousel.Slide>1</Carousel.Slide>
<Carousel.Slide>2</Carousel.Slide>
<Carousel.Slide>3</Carousel.Slide>
{/* ...other slides */}
</Carousel>
</div>
);
}
RangeSlider restrictToMarks
RangeSlider component now supports restrictToMarks
prop:
import { Slider } from '@​mantine/core';
function Demo() {
return (
<Stack>
<Slider
restrictToMarks
defaultValue={25}
marks={Array.from({ length: 5 }).map((_, index) => ({ value: index * 25 }))}
/>
<RangeSlider
restrictToMarks
defaultValue={[5, 15]}
marks={[
{ value: 5 },
{ value: 15 },
{ value: 25 },
{ value: 35 },
{ value: 70 },
{ value: 80 },
{ value: 90 },
]}
/>
</Stack>
);
}
Pagination withPages prop
Pagination component now supports withPages
prop which allows hiding pages
controls and displaying only previous and next buttons:
import { useState } from 'react';
import { Group, Pagination, Text } from '@​mantine/core';
const limit = 10;
const total = 145;
const totalPages = Math.ceil(total / limit);
function Demo() {
const [page, setPage] = useState(1);
const message = `Showing ${limit * (page - 1) + 1} – ${Math.min(total, limit * page)} of ${total}`;
return (
<Group justify="flex-end">
<Text size="sm">{message}</Text>
<Pagination total={totalPages} value={page} onChange={setPage} />
</Group>
);
}
useForm touchTrigger option
use-form hook now supports touchTrigger
option that allows customizing events that change touched state.
It accepts two options:
-
change
(default) – field will be considered touched when its value changes or it has been focused -
focus
– field will be considered touched only when it has been focused
Example of using focus
trigger:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { a: 1 },
touchTrigger: 'focus',
});
form.isTouched('a'); // -> false
form.setFieldValue('a', 2);
form.isTouched('a'); // -> false
// onFocus is called automatically when the user focuses the field
form.getInputProps('a').onFocus();
form.isTouched('a'); // -> true
Help Center updates
- Native browser validation does not work in some components, what should I do? question
- My styles are broken with disabled JavaScript. What should I do? question
- How can I add fuzzy search to Select component? question
- use-local-storage hook returns real value only after mounting, is it a bug? question
- How can I upload files from Dropzone component? question
Other changes
-
Autocomplete now supports
clearable
prop - where-* mixins documentation has been added
-
use-local-storage hook now supports
sync
option which allows disabling synchronization between browser tabs
v7.15.3
What's Changed
-
[@mantine/charts]
BarChart: FixtextColor
prop being passed down as attribute to the DOM node -
[@mantine/core]
TypographyStylesProvider: Fix incorrect top and bottom margins of first and last elements (#7334) -
[@mantine/core]
Transition: Fix some transitions being incompatible with headless mode (#7306) -
[@mantine/dates]
DateTimePicker: Set milliseconds to 0 on the result date object (#7328) -
[@mantine/dates]
FixhasNextLevel
prop type leak to DateTimePicker component (#7319) -
[@mantine/core]
Avatar: Change initials function to use the full name to generate color (#7322) -
[@mantine/hooks]
use-merged-ref: Add support for ref cleanup function in React 19 (#7304) -
[@mantine/hooks]
use-debounced-callback: Addflush
method to returned callback (#7272) -
[@mantine/dates]
Improve compatibility with dayjs plugins in all components (#7302) -
[@mantine/core]
Update peer dependencies to support React 19 (#7321)
New Contributors
- @baravak made their first contribution in https://github.com/mantinedev/mantine/pull/7302
- @scamden made their first contribution in https://github.com/mantinedev/mantine/pull/7272
- @YukiKoNeko made their first contribution in https://github.com/mantinedev/mantine/pull/7322
- @yuki0410-dev made their first contribution in https://github.com/mantinedev/mantine/pull/7319
- @zoubingwu made their first contribution in https://github.com/mantinedev/mantine/pull/7323
- @clarknova made their first contribution in https://github.com/mantinedev/mantine/pull/7328
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.2...7.15.3
v7.15.2
What's Changed
-
[@mantine/dates]
DatePicker: Fix incorrect handling of receiving partial value whentype="range"
(#7278) -
[@mantine/hooks]
use-local-storage: Fix value not being updated whenkey
changes (#7286) -
[@mantine/charts]
FixgridColor
prop being passed down as attribute to html element (#7288) -
[@mantine/core]
Update react-textarea-autosize to support React 19 (#7297) -
[@mantine/core]
TypographyStylesProvider: Fix margin removal affecting non-typography elements (#7290) -
[@mantine/core]
Tooltip: Addmiddlewares
prop support (#7281) -
[@mantine/core]
FloatingIndicator: Fix incorrect position calculations when the parent element has border (#7267) -
[@mantine/core]
ScrollArea: Fix scrollbar not changing with the scroll position on first render (#7257, #7260) -
[@mantine/tiptap]
Fix incorrect paragraph styles inside lists (#7255) -
[@mantine/hooks]
Fix incorrect ref types in use-move, use-radial-move, use-in-viewport and use-scroll-into-view (#7252) -
[@mantine/form]
Fix incorrect validators types (#7242)
New Contributors
- @QuinnStraus made their first contribution in https://github.com/mantinedev/mantine/pull/7255
- @tamago324 made their first contribution in https://github.com/mantinedev/mantine/pull/7260
- @StyxOfDynamite made their first contribution in https://github.com/mantinedev/mantine/pull/7270
- @lamualfa made their first contribution in https://github.com/mantinedev/mantine/pull/7267
- @angristan made their first contribution in https://github.com/mantinedev/mantine/pull/7284
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.1...7.15.2
v7.15.1
What's Changed
-
[@mantine/dates]
Improve focus behavior of DatePickerInput, DateInput and other components -
[@mantine/form]
AddtouchTrigger
option support -
[@mantine/hooks]
Add option to specify prefix inrandonId
function -
[@mantine/core]
FixwithProps
function requiring all component props instead of partial -
[@mantine/core]
AdduseModalStackContext
anduseDrawerStackContext
hooks exports -
[@mantine/core]
ActionIcon: Addinput-*
autocomplete forsize
prop -
[@mantine/core]
AppShell: Fix incorrect defaultoffsetScrollbars
value forlayout="alt"
-
[@mantine/core]
FixvirtualColor
function not working in server components (#7184) -
[@mantine/core]
Checkbox: Fix incorrect Checkbox.Card behavior inside Checkbox.Group (#7187) -
[@mantine/core]
Checkbox: Fix incorrect Checkbox.Card behavior inside Checkbox.Group (#7187) -
[@mantine/core]
Slider: Add option to pass attributes down to thumb withthumbProps
(#7214) -
[@mantine/core]
Switch: Add data-checked attribute to the input (#7228) -
[@mantine/dates]
FixhasNextLevel
prop type leak to DatePicker component (#7229) -
[@mantine/dates]
Fix timezone not being applied to the formatted value (#7162) -
[@mantine/modals]
FixmodalId
being passed to the DOM node as attribute (#7189) -
[@mantine/core]
TypographyStylesProvider: Fix incorrect paragraphs inside lists styles (#7226) -
[@mantine/core]
Slider: Fix icon used as thumb child not being visible with the dark color scheme (#7231, #7232) -
[@mantine/tiptap]
Fix missing border in custom controls (#7239)
New Contributors
- @jnachtigall made their first contribution in https://github.com/mantinedev/mantine/pull/7238
- @onkar-deshpande made their first contribution in https://github.com/mantinedev/mantine/pull/7226
- @anthonyalayo made their first contribution in https://github.com/mantinedev/mantine/pull/7188
- @NyxinU made their first contribution in https://github.com/mantinedev/mantine/pull/7162
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.0...7.15.1
v7.15.0
: 💋
View changelog with demos on mantine.dev website
Support Mantine development
You can now sponsor Mantine development with OpenCollective. All funds will be used to improve Mantine and create new features and components.
use-radial-move hook
New use-radial-move hook can be used to create custom radial sliders:
import { useState } from 'react';
import { Box } from '@​mantine/core';
import { useRadialMove } from '@​mantine/hooks';
import classes from './Demo.module.css';
function Demo() {
const [value, setValue] = useState(115);
const { ref } = useRadialMove(setValue);
return (
<Box className={classes.root} ref={ref} style={{ '--angle': `${value}deg` }}>
<div className={classes.value}>{value}°</div>
<div className={classes.thumb} />
</Box>
);
}
BarChart color based on value
BarChart component now supports getBarColor
prop to assign color based on value.
getBarColor
function is called with two arguments: value and series object. It should return a color
string (theme color reference or any valid CSS color value).
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
getBarColor={(value) => (value > 700 ? 'teal.8' : 'red.8')}
series={[{ name: 'Laptops', color: 'gray.6' }]}
/>
);
}
Button.GroupSection and ActionIcon.GroupSection
ActionIcon.GroupSection
and Button.GroupSection
are new components that
can be used in ActionIcon.Group
/Button.Group
to create sections that are
not ActionIcon
/Button
components:
import { IconChevronDown, IconChevronUp } from '@​tabler/icons-react';
import { ActionIcon } from '@​mantine/core';
import { useCounter } from '@​mantine/hooks';
function Demo() {
const [value, { increment, decrement }] = useCounter(135, { min: 0 });
return (
<ActionIcon.Group>
<ActionIcon variant="default" size="lg" radius="md" onClick={decrement}>
<IconChevronDown color="var(--mantine-color-red-text)" />
</ActionIcon>
<ActionIcon.GroupSection variant="default" size="lg" bg="var(--mantine-color-body)" miw={60}>
{value}
</ActionIcon.GroupSection>
<ActionIcon variant="default" size="lg" radius="md" onClick={increment}>
<IconChevronUp color="var(--mantine-color-teal-text)" />
</ActionIcon>
</ActionIcon.Group>
);
}
Table vertical variant
Table component now support variant="vertical"
:
import { Table } from '@​mantine/core';
export function Demo() {
return (
<Table variant="vertical" layout="fixed" withTableBorder>
<Table.Tbody>
<Table.Tr>
<Table.Th w={160}>Epic name</Table.Th>
<Table.Td>7.x migration</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Status</Table.Th>
<Table.Td>Open</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Total issues</Table.Th>
<Table.Td>135</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Total story points</Table.Th>
<Table.Td>874</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Last updated at</Table.Th>
<Table.Td>September 26, 2024 17:41:26</Table.Td>
</Table.Tr>
</Table.Tbody>
</Table>
);
}
Table tabular numbers
Table component now supports tabularNums
prop to render numbers in tabular style. It sets
font-variant-numeric: tabular-nums
which makes numbers to have equal width.
This is useful when you have columns with numbers and you want them to be aligned:
import { NumberFormatter, Table } from '@​mantine/core';
const data = [
{ product: 'Apples', unitsSold: 2214411234 },
{ product: 'Oranges', unitsSold: 9983812411 },
{ product: 'Bananas', unitsSold: 1234567890 },
{ product: 'Pineapples', unitsSold: 9948810000 },
{ product: 'Pears', unitsSold: 9933771111 },
];
function Demo() {
const rows = data.map((item) => (
<Table.Tr key={item.product}>
<Table.Td>{item.product}</Table.Td>
<Table.Td>
<NumberFormatter value={item.unitsSold} thousandSeparator />
</Table.Td>
</Table.Tr>
));
return (
<Table tabularNums>
<Table.Thead>
<Table.Tr>
<Table.Th>Product</Table.Th>
<Table.Th>Units sold</Table.Th>
</Table.Tr>
</Table.Thead>
<Table.Tbody>{rows}</Table.Tbody>
</Table>
);
}
Update function in modals manager
Modals manager now supports modals.updateModal
and modals.updateContextModal
function to update modal after it was opened:
import { Button } from '@​mantine/core';
import { modals } from '@​mantine/modals';
function Demo() {
return (
<Button
onClick={() => {
const modalId = modals.open({
title: 'Initial Modal Title',
children: <Text>This text will update in 2 seconds.</Text>,
});
setTimeout(() => {
modals.updateModal({
modalId,
title: 'Updated Modal Title',
children: (
<Text size="sm" c="dimmed">
This is the updated content of the modal.
</Text>
),
});
}, 2000);
}}
>
Open updating modal
</Button>
);
}
useForm submitting state
use-form hook now supports form.submitting
field
and form.setSubmitting
function to track form submission state.
form.submitting
field will be set to true
if function passed to
form.onSubmit
returns a promise. After the promise is resolved or rejected,
form.submitting
will be set to false
:
import { useState } from 'react';
import { Button, Group, Stack, Text, TextInput } from '@​mantine/core';
import { useForm } from '@​mantine/form';
const asyncSubmit = (values: any) =>
new Promise((resolve) => setTimeout(() => resolve(values), 3000));
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John' },
});
const [completed, setCompleted] = useState(false);
const handleSubmit = async (values: typeof form.values) => {
await asyncSubmit(values);
setCompleted(true);
};
if (completed) {
return (
<Stack>
<Text>Form submitted!</Text>
<Button onClick={() => setCompleted(false)}>Reset to initial state</Button>
</Stack>
);
}
return (
<form onSubmit={form.onSubmit(handleSubmit)}>
<TextInput
withAsterisk
label="Name"
placeholder="Your name"
key={form.key('name')}
disabled={form.submitting}
{...form.getInputProps('name')}
/>
<Group justify="flex-end" mt="md">
<Button type="submit" loading={form.submitting}>
Submit
</Button>
</Group>
</form>
);
}
You can also manually set form.submitting
to true
or false
:
import { useForm } from '@​mantine/form';
const form = useForm({ mode: 'uncontrolled' });
form.submitting; // -> false
form.setSubmitting(true);
form.submitting; // -> true
form.setSubmitting(false);
form.submitting; // -> false
useForm onSubmitPreventDefault option
use-form hook now supports onSubmitPreventDefault
option.
This option is useful if you want to integrate useForm
hook with server actions.
By default, event.preventDefault()
is called on the form onSubmit
handler.
If you want to change this behavior, you can pass onSubmitPreventDefault
option
to useForm
hook. It can have the following values:
-
always
(default) - always callevent.preventDefault()
-
never
- never callevent.preventDefault()
-
validation-failed
- callevent.preventDefault()
only if validation failed
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
onSubmitPreventDefault: 'never',
});
Subtle RichTextEditor variant
RichTextEditor component now supports subtle
variant:
import Highlight from '@​tiptap/extension-highlight';
import Underline from '@​tiptap/extension-underline';
import { useEditor } from '@​tiptap/react';
import StarterKit from '@​tiptap/starter-kit';
import { RichTextEditor } from '@​mantine/tiptap';
const content = '<p>Subtle rich text editor variant</p>';
function Demo() {
const editor = useEditor({
extensions: [StarterKit, Underline, Highlight],
content,
});
return (
<RichTextEditor editor={editor} variant="subtle">
<RichTextEditor.Toolbar sticky stickyOffset={60}>
<RichTextEditor.ControlsGroup>
<RichTextEditor.Bold />
<RichTextEditor.Italic />
<RichTextEditor.Underline />
<RichTextEditor.Strikethrough />
<RichTextEditor.ClearFormatting />
<RichTextEditor.Highlight />
<RichTextEditor.Code />
</RichTextEditor.ControlsGroup>
</RichTextEditor.Toolbar>
<RichTextEditor.Content />
</RichTextEditor>
);
}
onExitTransitionEnd and onEnterTransitionEnd
Modal and Drawer components now support onExitTransitionEnd
and onEnterTransitionEnd
props,
which can be used to run code after exit/enter transition is finished. For example, this is useful when you want to clear
data after modal is closed:
import { useState } from 'react';
import { Button, Group, Modal } from '@​mantine/core';
import { useDisclosure } from '@​mantine/hooks';
function Demo() {
const [firstOpened, firstHandlers] = useDisclosure(false);
const [secondOpened, secondHandlers] = useDisclosure(false);
const [modalData, setModalData] = useState({
title: '',
message: '',
});
return (
<>
<Modal
opened={firstOpened}
onClose={() => {
firstHandlers.close();
setModalData({ title: '', message: '' });
}}
title={modalData.title}
>
{modalData.message}
</Modal>
<Modal
opened={secondOpened}
onClose={secondHandlers.close}
onExitTransitionEnd={() => setModalData({ title: '', message: '' })}
title={modalData.title}
>
{modalData.message}
</Modal>
<Group>
<Button
onClick={() => {
firstHandlers.open();
setModalData({ title: 'Edit your profile', message: 'Imagine a form here' });
}}
>
Clear data in onClose
</Button>
<Button
onClick={() => {
secondHandlers.open();
setModalData({ title: 'Edit your profile', message: 'Imagine a form here' });
}}
>
Clear data in onExitTransitionEnd
</Button>
</Group>
</>
);
}
Week numbers in DatePicker
DatePicker and other components based on Calendar component now support withWeekNumbers
prop to display week numbers:
import { DatePicker } from '@​mantine/dates';
function Demo() {
return <DatePicker withWeekNumbers />;
}
New demo: BarChart with overlay
import { BarChart } from '@​mantine/charts';
import { data } from './data';
import classes from './Demo.module.css';
function Demo() {
const bigBarWidth = useMediaQuery('(min-width: 48em)') ? 42 : 26;
const ratio = 0.5;
const smallBarWidth = bigBarWidth * ratio;
const barGap = (bigBarWidth + smallBarWidth) / -2;
return (
<BarChart
h={300}
data={overlayData}
dataKey="index"
barChartProps={{ barGap }}
barProps={(data) => ({ barSize: data.name === 'you' ? bigBarWidth : smallBarWidth })}
classNames={classes}
series={[
{ name: 'you', color: 'var(--you-bar-color)' },
{ name: 'average', color: 'var(--average-bar-color)' },
]}
/>
);
}
Variants types augmentation
Custom variants types augmentation guide was added to the documentation.
Example of adding custom variant type to Button component:
import { ButtonVariant, MantineSize } from '@​mantine/core';
type ExtendedButtonVariant = ButtonVariant | 'contrast' | 'radial-gradient';
declare module '@​mantine/core' {
export interface ButtonProps {
variant?: ExtendedButtonVariant;
}
}
Help Center updates
- How to use Mantine template on GitHub? and How can I submit a template to Mantine documentation? pages were moved from the documentation to Help Center
- How that thing is done on mantine.dev website? question
- Why is it required to have 10 shades per color? question
- Why I see color scheme flickering on page load? question
- How can I test Modal/Drawer/Popover components? question
v7.14.3
What's Changed
-
[@mantine/core]
Slider: FixrestrictToMarks
prop not working with arrow and Home/End keys correctly -
[@mantine/core]
Checkbox: Fix Checkbox.Card component not working withform.getInputProps
-
[@mantine/core]
Tree: AddcheckOnSpace
prop support (#7132) -
[@mantine/core]
ScrollArea: Fix opacity style ofthumb
being too specific (#7149) -
[@mantine/dates]
AddwithWeekNumbers
prop support to all components based on Calendar (#7179) -
[@mantine/core]
Replace globalJSX
types withReact.JSX
to support React 19 types (#7178)
New Contributors
- @yesmeck made their first contribution in https://github.com/mantinedev/mantine/pull/7178
- @ustun-ed made their first contribution in https://github.com/mantinedev/mantine/pull/7181
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.2...7.14.3
v7.14.2
What's Changed
-
[@mantine/core]
AddonEnterTranstionEnd
andonExitTransitionEnd
props support to Modal, Drawer and Popover components -
[@mantine/charts]
DonutChart: FixvalueFormatter
prop not working, addlabelsType
prop support (#7153) -
[@mantine/charts]
BarChart: Fix incorrect labels positions in some cases (#7160) -
[@mantine/core]
PasswordInput: FixvisibilityToggleButtonProps.variant
prop being ignored (#7144) -
[@mantine/core]
Improvewindow.matchMedia
usage to support test environments withoutmatchMedia
support (#7147) -
[@mantine/core]
Fix arrow overlaying Popover, Tooltip and HoverCard content in some cases (#7148) -
[@mantine/form]
AddonSubmitPreventDefault
option support (#7142) -
[@mantine/core]
TypographyStylesProvider: Fix incorrect lists styles -
[@mantine/notifications]
Fix notifications with bottom-right and top-right positions shifting when modal/drawer is opened -
[@mantine/core]
FileInput: Add missing placeholder Styles API reference -
[@mantine/core]
Update floating-ui, react-textarea-autosize and type-fest dependencies to the latest version -
[@mantine/modals]
AddupdateModal
andupdateContextModal
functions (#7104) -
[@mantine/tiptap]
Fix too specific styles that prevented controls border-radius override without !important -
[@mantine/tiptap]
Fix disabled controls having hover effects and pointer cursor -
[@mantine/core]
FileInput: Add missingcomponent
prop -
[@mantine/core]
AngleSlider: Fix page being scrolled when the value is being changed on mobile -
[@mantine/core]
NumberInput: Fix increment/decrement controls not being visible if the value is number like string -
[@mantine/core]
NavLink: Fix collapse for nested links being rendered even if there are no child links (#7133) -
[@mantine/dates]
FixdefaultDate
prop being ignore in YearPickerInput and MonthPickerInput components (#7108) -
[@mantine/dropzone]
Updatereact-dropzone-esm
to the latest version
New Contributors
- @lsanwick made their first contribution in https://github.com/mantinedev/mantine/pull/7147
- @minosss made their first contribution in https://github.com/mantinedev/mantine/pull/7160
- @me-gusta-v made their first contribution in https://github.com/mantinedev/mantine/pull/7153
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.1...7.14.2
v7.14.1
What's Changed
-
[@mantine/hooks]
use-hotkeys: Fix+
sign not being supported (syntax:shift+[plus]
) (#7123) -
[@mantine/core]
Popover: Fixstyles
prop being handled incorrectly (#7120) -
[@mantine/charts]
FixvalueFormatter
not working in point labels of LineChant, AreaChart and CompositeChart components (#6989) -
[@mantine/core]
Popover: FixonOpen
andonClose
callbacks being called on each render (#7022, #7111, #7115) -
[@mantine/core]
Menu: FixBlocked aria-hidden
warning when an interactive element is clicked outside of the Menu.Dropdown when the Menu is opened (#7035) -
[@mantine/core]
Fixtop
style prop not being conveted to rem (#7112) -
[@mantine/dates]
DateInput: FixdefaultDate
prop not working when the value is set tonull
(#4426) -
[@mantine/core]
NumberInput: Remove increment/decrement control if value cannot be safely incremented (is larger than Number.MAX_SAFE_INTEGER) (#7033) -
[@mantine/core]
NumberInput: Fix value being reverted to start value if intial component value is a string -
[@mantine/notifications]
FixNotificationData
type being too broad (#7097) -
[@mantine/core]
RingProgress: AddtransitionDuration
prop support (#7103) -
[@mantine/core]
TagsInput: Fix incorrect tag remove logic with duplicated tags (#7105) -
[@mantine/core]
Combobox: Fix incorrectaria-controls
attribute being set on the target element when the dropdown is closed (#7114)
New Contributors
- @Samy0412 made their first contribution in https://github.com/mantinedev/mantine/pull/7114
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.0...7.14.1
v7.14.0
: 💋
View changelog with demos on mantine.dev website
AngleSlider component
New AngleSlider component:
import { AngleSlider, Group } from '@​mantine/core';
function Demo() {
return (
<Group p="lg" gap={50}>
<AngleSlider
aria-label="Angle slider"
formatLabel={(value) => `${value}°`}
size={100}
restrictToMarks
marks={[
{ value: 0 },
{ value: 45 },
{ value: 90 },
{ value: 135 },
{ value: 180 },
{ value: 225 },
{ value: 270 },
{ value: 315 },
]}
/>
<AngleSlider
aria-label="Angle slider"
formatLabel={(value) => `${value}°`}
size={100}
marks={[
{ value: 0, label: '0°' },
{ value: 45, label: '45°' },
{ value: 90, label: '90°' },
{ value: 135, label: '135°' },
{ value: 180, label: '180°' },
{ value: 225, label: '225°' },
{ value: 270, label: '270°' },
{ value: 315, label: '315°' },
]}
/>
</Group>
);
}
RadialBarChart component
New RadialBarChart component:
import { RadialBarChart } from '@​mantine/charts';
const data = [
{ name: '18-24', value: 31.47, color: 'blue.7' },
{ name: '25-29', value: 26.69, color: 'orange.6' },
{ name: '30-34', value: 15.69, color: 'yellow.7' },
{ name: '35-39', value: 8.22, color: 'cyan.6' },
{ name: '40-49', value: 8.63, color: 'green' },
{ name: '50+', value: 2.63, color: 'pink' },
{ name: 'unknown', value: 6.67, color: 'gray' },
];
function Demo() {
return <RadialBarChart data={data} dataKey="value" h={280} withLabels />;
}
FunnelChart component
New FunnelChart component:
import { FunnelChart } from '@​mantine/charts';
const data = [
{ name: 'USA', value: 400, color: 'indigo.6' },
{ name: 'India', value: 300, color: 'yellow.6' },
{ name: 'Japan', value: 100, color: 'teal.6' },
{ name: 'Other', value: 200, color: 'gray.6' },
];
function Demo() {
return <FunnelChart data={data} />;
}
Modal.Stack and Drawer.Stack components
New Modal.Stack and Drawer.Stack components simplify usage of multiple modals/drawers at the same time.
Use Modal.Stack
component to render multiple modals at the same time.
Modal.Stack
keeps track of opened modals, manages z-index values, focus trapping
and closeOnEscape
behavior. Modal.Stack
is designed to be used with useModalsStack
hook.
Differences from using multiple Modal
components:
-
Modal.Stack
manages z-index values – modals that are opened later will always have higher z-index value disregarding their order in the DOM -
Modal.Stack
disables focus trap andEscape
key handling for all modals except the one that is currently opened - Modals that are not currently opened are present in the DOM but are hidden with
opacity: 0
andpointer-events: none
- Only one overlay is rendered at a time
import { Button, Group, Modal, useModalsStack } from '@​mantine/core';
function Demo() {
const stack = useModalsStack(['delete-page', 'confirm-action', 'really-confirm-action']);
return (
<>
<Modal.Stack>
<Modal {...stack.register('delete-page')} title="Delete this page?">
Are you sure you want to delete this page? This action cannot be undone.
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={() => stack.open('confirm-action')} color="red">
Delete
</Button>
</Group>
</Modal>
<Modal {...stack.register('confirm-action')} title="Confirm action">
Are you sure you want to perform this action? This action cannot be undone. If you are
sure, press confirm button below.
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={() => stack.open('really-confirm-action')} color="red">
Confirm
</Button>
</Group>
</Modal>
<Modal {...stack.register('really-confirm-action')} title="Really confirm action">
Jokes aside. You have confirmed this action. This is your last chance to cancel it. After
you press confirm button below, action will be performed and cannot be undone. For real
this time. Are you sure you want to proceed?
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={stack.closeAll} color="red">
Confirm
</Button>
</Group>
</Modal>
</Modal.Stack>
<Button onClick={() => stack.open('delete-page')}>Open modal</Button>
</>
);
}
useModalsStack/useDrawersStack hooks
useModalsStack
hook provides an easy way to control multiple modals at the same time.
It accepts an array of unique modals ids and returns an object with the following properties:
interface ModalStackReturnType<T extends string> {
// Current opened state of each modal
state: Record<T, boolean>;
// Opens modal with the given id
open: (id: T) => void;
// Closes modal with the given id
close: (id: T) => void;
// Toggles modal with the given id
toggle: (id: T) => void;
// Closes all modals within the stack
closeAll: () => void;
// Returns props for modal with the given id
register: (id: T) => {
opened: boolean;
onClose: () => void;
stackId: T;
};
}
Example of using useModalsStack
with Modal
component:
import { Modal, useModalsStack } from '@​mantine/core';
function Demo() {
const stack = useModalsStack(['first', 'second']);
return (
<>
<Modal {...stack.register('first')}>First</Modal>
<Modal {...stack.register('second')}>Second</Modal>
<Button onClick={() => stack.open('first')}>Open first</Button>
</>
);
}
Restrict Slider selection to marks
Slider component now supports restrictToMarks
prop that restricts slider value to marks only.
Note that in this case step
prop is ignored:
import { Slider } from '@​mantine/core';
function Demo() {
return (
<Slider
restrictToMarks
defaultValue={25}
marks={Array.from({ length: 5 }).map((_, index) => ({ value: index * 25 }))}
/>
);
}
BarChart SVG pattern fill
BarChart now can be used with SVG pattern fill:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={mixedStackData}
dataKey="month"
series={[
{ name: 'Smartphones', color: 'url(#crosshatch)', stackId: 'a' },
{ name: 'Laptops', color: 'blue.6', stackId: 'b' },
{ name: 'Tablets', color: 'url(#diagonalStripes)', stackId: 'b' },
]}
>
<defs>
<pattern
id="diagonalStripes"
patternUnits="userSpaceOnUse"
width={6}
height={8}
patternTransform="rotate(45)"
>
<rect
width="2"
height="8"
transform="translate(0,0)"
fill="color-mix(in lch, var(--mantine-color-teal-6) 70%, rgba(0,0,0,0))"
/>
</pattern>
<pattern id="crosshatch" patternUnits="userSpaceOnUse" width={8} height={8}>
<path
d="M 0 0 L 8 0 L 8 8 L 0 8 Z"
fill="none"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
<path
d="M 0 0 L 8 8"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
<path
d="M 8 0 L 0 8"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
</pattern>
</defs>
</BarChart>
);
}
Help center updates
- New Can I use nested inline styles with Mantine components? question
- New Can I use PostCSS function in inline styles? question
- New Why my Carousel slides are in vertical orientation? question
- New My buttons are transparent and the background is visible only on hover, what is wrong? question
- New Can I have different primary color for light and dark color schemes? question
- New How can I change body background color? question
- New My Popover dropdown closes when I click on the dropdown of nested Popover question
Other changes
-
useTree hook now accepts
onNodeExpand
andonNodeCollapse
callbacks -
useTree hook now returns additional
checkAllNodes
,uncheckAllNodes
andsetCheckedState
handlers -
Tree component now includes
getTreeExpandedState
to generate expanded state based on the tree data -
use-form now supports
form.replaceListItem
handler to replace list item at given index
v7.13.5
What's Changed
-
[@mantine/core]
Update peer dependencies range for react to allow react and react-dom 19 as dependcy -
[@mantine/core]
Fix error in Next.js with React 19 related to ref prop usage in Tooltip, Popover and Combobox components (#7028) -
[@mantine/core]
FileButton: FixresetRef
throwing error if the component is contidionally rendered (#7025) -
[@mantine/core]
Button: Fix incorrect focus styles of Button.Group (#6992) -
[@mantine/charts]
CompositeCharts: Fix missingkey
prop error (#7020) -
[@mantine/core]
NumberInput: Fixmin
/max
value being bypassed if0
has been entered as the first digit (#7021) -
[@mantine/form]
Add useCallback wrapper toform.resetDirty
(#7029) -
[@mantine/core]
Combobox: Fix incorrect logic of selected options when the dropdown is closed without selecting value (#7039) -
[@mantine/charts]
BarChart: AddbarLabelColor
prop support -
[@mantine/charts]
BarChart: Fix bar label being positioned incorrectly with horizontal orientation (#7042) -
[@mantine/charts]
RadarChart: Fix incorrect series prop type (#7046) -
[@mantine/form]
Add additional type exports from the package (#7062) -
[@mantine/core]
Tabs: FixtabIndex
not being overridden by Tabs.Tab props (#7081) -
[@mantine/dates]
DatePickerInput: FixnextLabel
andpreviousLabel
props not being handled correctly (#7082) -
[@mantine/charts]
Update recharts dependency to the latest version to improve Next.js 15 and React 19 support
New Contributors
- @pfo-omicsstudio made their first contribution in https://github.com/mantinedev/mantine/pull/7062
- @zaphire12 made their first contribution in https://github.com/mantinedev/mantine/pull/7046
- @fsd-niraj made their first contribution in https://github.com/mantinedev/mantine/pull/7042
- @MariaBanaszkiewicz made their first contribution in https://github.com/mantinedev/mantine/pull/7039
- @anthony-dandrea made their first contribution in https://github.com/mantinedev/mantine/pull/7029
- @owenmoogk made their first contribution in https://github.com/mantinedev/mantine/pull/7021
- @mariakax3 made their first contribution in https://github.com/mantinedev/mantine/pull/7020
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.4...7.13.5
v7.13.4
Next.js 15 support
The documentation and templates have been updated to support Next.js 15 release, for more information visit – https://mantine.dev/guides/next/
Other changes
-
[@mantine/dates]
DatePickerInput: Fix dropdown staying opened after thedisabled
prop has been set (#7017) -
[@mantine/core]
NumberInput: Fix incorrect ref node type -
[@mantine/core]
Popover: FixonClose
event firing incorrectly
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.3...7.13.4
v7.13.3
What's Changed
-
[@mantine/core]
Fix cqw, cqh, cqi, cqb, cqmax and cqmin size units not being handled correctly in style props -
[@mantine/dates]
DateTimePicker: RemovedefaultValue
andvalue
props fromtimeInputProps
types to avoid confusion (#6959) -
[@mantine/dropzone]
Setdata-disabled
attribute on the root element ifdisabled
prop is set (#6946) -
[@mantine/core]
Modal: Fix default Modal.Root transition being different from Modal component (#6967) -
[@mantine/core]
ColorInput: FixpopoverProps={{ opned: true }}
not working (#6968) -
[@mantine/charts]
FixvalueFormatter
prop not working correctly withorientation="vertical"
in BarChart, AreaChart and LineChart components (#6979) -
[@mantine/core]
Popover: FixonOpen
not being called with controlledopened
state (#6981) -
[@mantine/core]
NumberInput: Fix incorrectmin
prop handling for large numbers (#6985) -
[@mantine/dropzone]
Add HEIF image mime type (#6977) -
[@mantine/core]
PasswordInput: Fix cursor shifting when the visibility button is clicked on touch devices (#6971)
New Contributors
- @eungyeole made their first contribution in https://github.com/mantinedev/mantine/pull/6957
- @thaynam made their first contribution in https://github.com/mantinedev/mantine/pull/6977
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.2...7.13.3
v7.13.2
What's Changed
-
[@mantine/dates]
DateInput: FixonClick
handler passed togetDayProps
not being called -
[@mantine/core]
Badge: Fix incorrect cursor styles -
[@mantine/core]
FileInput: AddresetRef
prop support -
[@mantine/core]
Popover: FixonClose
function being called twice with controlled state -
[@mantine/spotlight]
Fix selected index not being reset when the spotlight is closed (#6842) -
[@mantine/core]
Popover: Improve performance of scrolling when large number of closed Popovers are rendered on the same page (#6771) -
[@mantine/core]
Pagination: FixgetItemProps
not being able to override controlchildren
prop (#6789) -
[@mantine/core]
ScrollArea: FixonBottomReached
not being called if the viewport has decimal px height value (#6792) -
[@mantine/hooks]
use-in-viewport: Fix hook not reacting to node changes (#6926) -
[@mantine/core]
NumberInput: Fix incorrect handling of decimal numbers with more than 15 decimal places (#6823) -
[@mantine/core]
Slider: Fix marks not being aligned correctly (#6909) -
[@mantine/hooks]
use-fullscreen: Fix target node changes being ignored (#6923) -
[@mantine/core]
Badge: Fix incorrect sections alignment forvariant="dot"
-
[@mantine/core]
TagsInput: Fix incorrect logic of removing duplicate tags (#6922) -
[@mantine/core]
AppShell: Fix error when Suspense is rendered inside AppShell (#6927) -
[@mantine/core]
Menu: FixonKeyDown
prop not working in Menu.Dropdown component (#6910)
New Contributors
- @RabeeAbuBaker made their first contribution in https://github.com/mantinedev/mantine/pull/6927
- @linspw made their first contribution in https://github.com/mantinedev/mantine/pull/6923
- @fellmann made their first contribution in https://github.com/mantinedev/mantine/pull/6926
- @maclementED made their first contribution in https://github.com/mantinedev/mantine/pull/6842
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.1...7.13.2
v7.13.1
What's Changed
-
[@mantine/chart]
PieChart: Remove unused CSS (#6903) -
[@mantine/core]
Menu: FixonKeyDown
not working when passed to Menu.Item (#6906) -
[@mantine/core]
TagsInput: Fix duplicated tags being deleted when one of tags with the same value is deleted (#6907) -
[@mantine/dates]
Fix hidden input value not respecting specified timezone (#6881) -
[@mantine/hooks]
use-hover: Fix events not being reattached when the target node changes (#6782) -
[@mantine/colors-generator]
Update chroma-js version to support the latest version (#6879) -
[@mantine/core]
PinInput: Fix incorrectBackspace
key handling on the first input (#6880) -
[@mantine/hooks]
use-state-history: Addreset
handler support (#6769) -
[@mantine/core]
ScrollArea: FixonTopReached
prop not being passed down in ScrollArea.Autosize component (#6747) -
[@mantine/chart]
Fix incorrect types for props passed down to recharts components (#6820) -
[@mantine/form]
Fix indices over 9 not working in form paths in some cases (#6794) -
[@mantine/chart]
BarChart: Fix BarLabel logging errors in the console (#6810) -
[@mantine/chart]
Fix error when chart tooltip label contains period (#6826) -
[@mantine/core]
Title: Add option to use Text font-size and line-height values withsize
prop (#6833) -
[@mantine/date]
Calendar: FixnextLabel
andpreviousLabel
props not working (#6847) -
[@mantine/core]
Fix2xl
and other similar values being treated as CSS value instead of theme value (#6855) -
[@mantine/core]
Breadcrumbs: Fix component with large number of values not wrapping on small screens (#6863) -
[@mantine/core]
Table: Fix thead being overlayed to td in some cases (#6860)
New Contributors
- @ozantekin made their first contribution in https://github.com/mantinedev/mantine/pull/6863
- @Vakarva made their first contribution in https://github.com/mantinedev/mantine/pull/6811
- @zrll12 made their first contribution in https://github.com/mantinedev/mantine/pull/6747
- @AdhamMoussa made their first contribution in https://github.com/mantinedev/mantine/pull/6769
- @GZTimeWalker made their first contribution in https://github.com/mantinedev/mantine/pull/6879
- @max-degterev made their first contribution in https://github.com/mantinedev/mantine/pull/6782
- @ctdunc made their first contribution in https://github.com/mantinedev/mantine/pull/6907
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.0...7.13.1
v7.13.0
: 🎇
View changelog with demos on mantine.dev website
Container queries support in Grid
You can now use container queries in Grid component. With container queries, all responsive values are adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { Grid } from '@​mantine/core';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// it is not required in real projects
<div style={{ resize: 'horizontal', overflow: 'hidden', maxWidth: '100%' }}>
<Grid
type="container"
breakpoints={{ xs: '100px', sm: '200px', md: '300px', lg: '400px', xl: '500px' }}
>
<Col span={{ base: 12, md: 6, lg: 3 }}>1</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>2</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>3</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>4</Col>
</Grid>
</div>
);
}
CompositeChart component
New CompositeChart component allows using Line
, Area
and Bar
charts together in a single chart:
import { CompositeChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<CompositeChart
h={300}
data={data}
dataKey="date"
unit="$"
maxBarWidth={30}
series={[
{ name: 'Tomatoes', color: 'rgba(18, 120, 255, 0.2)', type: 'bar' },
{ name: 'Apples', color: 'red.8', type: 'line' },
{ name: 'Oranges', color: 'yellow.8', type: 'area' },
]}
/>
);
}
Points labels
LineChart and AreaChart now support withPointLabels
prop to display labels on data points:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
dataKey="date"
withLegend
withPointLabels
series={[
{ name: 'Apples', color: 'indigo.6' },
{ name: 'Oranges', color: 'blue.6' },
]}
/>
);
}
ScatterChart also supports point labels, but also allows to control which axis should display labels with pointLabels
prop:
import { ScatterChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<ScatterChart
h={350}
data={data}
dataKey={{ x: 'age', y: 'BMI' }}
xAxisLabel="Age"
yAxisLabel="BMI"
pointLabels="x"
/>
);
}
BarChart: Mixed stacks
You can now control how BarChart series are stacked by setting stackId
property in series object:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
series={[
{ name: 'Smartphones', color: 'violet.6', stackId: 'a' },
{ name: 'Laptops', color: 'blue.6', stackId: 'b' },
{ name: 'Tablets', color: 'teal.6', stackId: 'b' },
]}
/>
);
}
BarChart: Minimum bar size
BarChart now supports minBarSize
prop to set the minimum size of the bar in px:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
withLegend
series={[
{ name: 'Smartphones', color: 'violet.6' },
{ name: 'Laptops', color: 'blue.6' },
{ name: 'Tablets', color: 'teal.6' },
]}
/>
);
}
Help Center updates
- New How to integrate custom input with use-form hook? question
- New Can I remove MultiSelect placeholder when the component has selected values? question
- New How can I load fonts in Remix? question
- New My styles are overridden by Mantine components styles, what should I do? question
- New Why I cannot use one polymorphic component in component prop of another polymorphic component? question
- New Can I use an array of strings as a list in use-form? question
Other changes
- New demo has been added to Chip component with an example of how to deselect radio chip
-
BarChart now supports
maxBarWidth
prop to set the maximum width of each bar in px
v7.12.2
What's Changed
-
[@mantine/hooks]
use-idle: Fix idle countdown not starting if the user did non interact with the page (#6683) -
[@mantine/core]
ScrollArea: FixonBottomReached
prop not being available inScrollArea.Autosize
component -
[@mantine/core]
Removechildren
from Checkbox, Radio and Switch types to avoid accidental errors -
[@mantine/core]
TypographyStylesProvider: Fix incorrect table styles in dark color scheme -
[@mantine/form]
Fix error thrown for nullable values dirty status check (#6672) -
[@mantine/core]
Badge: Fix unexpected change to block layout, fix incorrect alignment when fixed width is set (#6698, #6680) -
[@mantine/core]
ScrollArea: Fix pointer-events being left asnone
after interaction with scrollbar (#6681) -
[@mantine/core]
Tabs: FixkeepMounted
prop being added as attribute toTabs.Panel
DOM element (#6711) -
[@mantine/core]
Tree: AddinitialCheckedState
support (#6697) -
[@mantine/spotlight]
FixSpotlightRoot
component not being exported (#6710) -
[@mantine/dropzone]
Add7z
andrar
mime types exports (#6702) -
[@mantine/dates]
DatePickerInput: Fix incorrect hovered date logic when the component receives value update with partial selected date range (#6718) -
[@mantine/dates]
FixvalueFormatter
prop being added to DateTimePicker types -
[@mantine/core]
Badge: Fix right/left sections height affecting the alignment of the label -
[@mantine/core]
Menu: Fix accessibility warning in devtools when the Menu is opened (#6644)
New Contributors
- @timesince made their first contribution in https://github.com/mantinedev/mantine/pull/6654
- @tokyojack made their first contribution in https://github.com/mantinedev/mantine/pull/6718
- @Streusel made their first contribution in https://github.com/mantinedev/mantine/pull/6702
- @fredgig made their first contribution in https://github.com/mantinedev/mantine/pull/6697
- @chimericdream made their first contribution in https://github.com/mantinedev/mantine/pull/6683
- @Aybrea made their first contribution in https://github.com/mantinedev/mantine/pull/6724
Full Changelog: https://github.com/mantinedev/mantine/compare/7.12.1...7.12.2
v7.12.1
What's Changed
-
[@mantine/dates]
DateInput: Fix default date being set to the current date whenminDate
is set to the future (#6646) -
[@mantine/core]
ScrollArea: Fix incorrect thumb::before styles -
[@mantine/core]
Fix incorrect active styles of buttons used inside disabled fieldset -
[@mantine/form]
Fixform.watch
callbacks not being fired whenform.initialize
is called (#6639) -
[@mantine/core]
Switch: Fix Switch shrinking when large label or description is used (#6531) -
[@mantine/core]
Combobox: FixCombobox.Search
overflow whenScrollArea
is used in the dropdown (#6562) -
[@mantine/core]
Accordion: Add missingwithProps
function (#6564) -
[@mantine/core]
Pill: Fix remove icon overflowing pill container if its background color was changed with Styles API (#6565) -
[@mantine/core]
PinInput: Allow passing props to individual input elements depending on index withgetInputProps
(#6588) -
[@mantine/charts]
: Fix LineChart Legend and Tooltip to support nested names (#6536) -
[@mantine/core]
Tooltip: Add missingTooltip.Group.extend
function (#6576) -
[@mantine/spotlight]
Fixlimit
prop not working correctly with actions groups (#6632) -
[@mantine/core]
Badge: Fix text overflow not being handled correctly (#6629) -
[@mantine/core]
SegmentedControl: Adddata-disabled
attribute to the root element to simplify styling with Styles API (#6625) -
[@mantine/core]
SegmentedControl: Fix initial position of indicator being broken when the component is used inside other element that has transitions on mount (#6622) -
[@mantine/core]
TagsInput: FixonKeyDown
prop not working (#6569) -
[@mantine/charts]
PieChart: FixvalueFormatter
not working on outside labels (#6616) -
[@mantine/core]
Popover: Fixapply
function ofsize
middleware not being handled correctly (#6598) -
[@mantine/core]
Chip: Fix incorrect checked padding forsize="xl"
(#6586) -
[@mantine/dates]
TimeInput: Fix incorrect focus styles of am/pm input (#6579) -
[@mantine/hook]
use-os: Fix incorrect iPadOS detection (#6535) -
[@mantine/core]
DatePickerInput: Fix incorrectaria-label
being set on the input element (#6530) -
[@mantine/core]
Menu: Fix incorrect Escape key handling inside Modal (#6580)
New Contributors
- @vorant94 made their first contribution in https://github.com/mantinedev/mantine/pull/6530
- @hajimism made their first contribution in https://github.com/mantinedev/mantine/pull/6539
- @ziimakc made their first contribution in https://github.com/mantinedev/mantine/pull/6561
- @th3fallen made their first contribution in https://github.com/mantinedev/mantine/pull/6579
- @david-szabo97 made their first contribution in https://github.com/mantinedev/mantine/pull/6586
- @bastiankistner made their first contribution in https://github.com/mantinedev/mantine/pull/6607
- @inx-fldu made their first contribution in https://github.com/mantinedev/mantine/pull/6569
- @michaelperros made their first contribution in https://github.com/mantinedev/mantine/pull/6622
- @risen228 made their first contribution in https://github.com/mantinedev/mantine/pull/6625
- @ddoemonn made their first contribution in https://github.com/mantinedev/mantine/pull/6629
- @yorkeJohn made their first contribution in https://github.com/mantinedev/mantine/pull/6632
- @raulfpl made their first contribution in https://github.com/mantinedev/mantine/pull/6639
- @uriFrischman made their first contribution in https://github.com/mantinedev/mantine/pull/6645
Full Changelog: https://github.com/mantinedev/mantine/compare/7.12.0...7.12.1
v7.12.0
: 🌟
View changelog with demos on mantine.dev website
Notifications at any position
It is now possible to display notifications at any position on the screen with @mantine/notifications package:
import { Button } from '@​mantine/core';
import { notifications } from '@​mantine/notifications';
const positions = [
'top-left',
'top-right',
'bottom-left',
'bottom-right',
'top-center',
'bottom-center',
] as const;
function Demo() {
const buttons = positions.map((position) => (
<Button
key={position}
onClick={() =>
notifications.show({
title: `Notification at ${position}`,
message: `Notification at ${position} message`,
position,
})
}
>
{position}
</Button>
));
return <Group>{buttons}</Group>;
}
Subscribe to notifications state
You can now subscribe to notifications state changes with useNotifications
hook:
function Demo() {
const [counter, { increment }] = useCounter();
const notificationsStore = useNotifications();
const showNotification = () => {
notifications.show({
title: `Notification ${counter}`,
message: 'Most notifications are added to queue',
});
increment();
};
return (
<>
<Button onClick={showNotification} mb="md">
Show notification
</Button>
<Text>Notifications state</Text>
<Code block>{JSON.stringify(notificationsStore.notifications, null, 2)}</Code>
<Text mt="md">Notifications queue</Text>
<Code block>{JSON.stringify(notificationsStore.queue, null, 2)}</Code>
</>
);
}
SemiCircleProgress component
New SemiCircleProgress component:
import { SemiCircleProgress } from '@​mantine/core';
function Demo() {
return (
<SemiCircleProgress
fillDirection="left-to-right"
orientation="up"
filledSegmentColor="blue"
size={200}
thickness={12}
value={40}
label="Label"
/>
);
}
Tree checked state
Tree component now supports checked state:
import { IconChevronDown } from '@​tabler/icons-react';
import { Checkbox, Group, RenderTreeNodePayload, Tree } from '@​mantine/core';
import { data } from './data';
const renderTreeNode = ({
node,
expanded,
hasChildren,
elementProps,
tree,
}: RenderTreeNodePayload) => {
const checked = tree.isNodeChecked(node.value);
const indeterminate = tree.isNodeIndeterminate(node.value);
return (
<Group gap="xs" {...elementProps}>
<Checkbox.Indicator
checked={checked}
indeterminate={indeterminate}
onClick={() => (!checked ? tree.checkNode(node.value) : tree.uncheckNode(node.value))}
/>
<Group gap={5} onClick={() => tree.toggleExpanded(node.value)}>
<span>{node.label}</span>
{hasChildren && (
<IconChevronDown
size={14}
style={{ transform: expanded ? 'rotate(180deg)' : 'rotate(0deg)' }}
/>
)}
</Group>
</Group>
);
};
function Demo() {
return <Tree data={data} levelOffset={23} expandOnClick={false} renderNode={renderTreeNode} />;
}
Disable specific features in postcss-preset-mantine
You can now disable specific features of the postcss-preset-mantine
by setting them to false
in the configuration object. This feature is available starting from
postcss-preset-mantine@1.17.0
.
module.exports = {
'postcss-preset-mantine': {
features: {
// Turn off `light-dark` function
lightDarkFunction: false,
// Turn off `postcss-nested` plugin
nested: false,
// Turn off `lighten`, `darken` and `alpha` functions
colorMixAlpha: false,
// Turn off `rem` and `em` functions
remEmFunctions: false,
// Turn off `postcss-mixins` plugin
mixins: false,
},
},
};
Help Center updates
-
Server components guide has been updated to include
Component.extend
usage in server components. -
A guide on applying input focus styles has been updated to work correctly with PasswordInput and other components in which the
input
selector is not used for actual input element. - The guide on how to disable all inputs in the form now includes additional instructions for use-form.
- New Can I have color schemes other than light and dark? guide explains the difference between color scheme and theme and why Mantine does not support custom color schemes.
- New Why VSCode cannot autoimport Text component? guide explains why VSCode cannot automatically import
Text
component. - New Are Mantine components accessible? question
- New How can I focus the first input with error with use-form? question
- New How to scroll to the top of the form if the form is submitted with errors? question
- New Why my notifications are displayed at a wrong position? question
- New Why my screen is completely empty after I've added notifications package? question
- New Why can I not use value/label data structure with Autocomplete/TagsInput? question
- New Why FileButton does not work in Menu? question
- New How can I display different elements in light and dark color schemes? question
Other changes
-
use-interval hook now supports
autoInvoke
option to start the interval automatically when the component mounts. -
use-form with
mode="uncontrolled"
now triggers additional rerender when dirty state changes to allow subscribing to form state changes. -
ScrollArea component now supports
onTopReached
andonBottomReached
props. The functions are called when the user scrolls to the top or bottom of the scroll area. -
Accordion.Panel component now supports
onTransitionEnd
prop that is called when the panel animation completes.
v7.11.2
What's Changed
-
[@mantine/core]
Combobox: Fix inconsistent horizontal dropdown padding -
[@mantine/core]
Drawer: Fix content overflowing horizontally on mobile whenoffset
is set -
[@mantine/core]
Drawer: Fix double scrollbar appearing whenoffset
andscrollAreaComponent
props are set -
[@mantine/carousel]
Fix responsiveslideSize
values working differently from other style props -
[@mantine/hooks]
use-interval: AddautoInvoke
option support -
[@mantine/hooks]
use-interval: Fix updates to the function and interval timeout being ignored -
[@mantine/core]
Anchor: FixlineClamp
prop not working -
[@mantine/core]
Anchor: Fix text-decoration styles being inconsistent withvariant="gradient"
-
[@mantine/dates]
DateInput: Fix value flickering with custom timezone (#6517) -
[@mantine/core]
Burger: FixlineSize
being passed to the DOM node (#6520) -
[@mantine/charts]
Add support for nested properties indataKey
(#5886) -
[@mantine/core]
Fix Modal/Drawer headers overlaying custom scrollbar (#6175) -
[@mantine/charts]
Sparkline: Fix incorrectdata
prop type (#6352) -
[@mantine/charts]
FixstrokeColor
prop being passed to the DOM element (#6507) -
[@mantine/core]
FocusTrap: Improve compatibility with React 19 (#6492) -
[@mantine/hooks]
use-os: Fix iOS being reported as MacOS in several cases (#6511) -
[@mantine/emotion]
Fix incorrect types ofcreateStyles
classes (#6490) -
[@mantine/core]
Tooltip: FixfloatingStrategy="fixed"
not working (#6502)
New Contributors
- @lwkchan made their first contribution in https://github.com/mantinedev/mantine/pull/6502
- @Sergio16T made their first contribution in https://github.com/mantinedev/mantine/pull/6517
Full Changelog: https://github.com/mantinedev/mantine/compare/7.11.1...7.11.2
v7.11.1
What's Changed
-
[@mantine/core]
Add option to displaynothingFoundMessage
when data is empty in Select and MultiSelect components (#6477) -
[@mantine/core]
Tooltip: AdddefaultOpened
prop support (#6466) -
[@mantine/core]
PinInput: Fix incorrect rtl logic (#6382) -
[@mantine/core]
Popover: FixfloatingStrategy="fixed"
not havingposition:fixed
styles (#6419) -
[@mantine/spotlight]
Fix spotlight not working correctly with shadow DOM (#6400) -
[@mantine/form]
FixonValuesChange
using stale values (#6392) -
[@mantine/carousel]
FixonSlideChange
using stale props values (#6393) -
[@mantine/charts]
Fix unexpected padding on the right side of the chart in BarChart, AreaChart and LineChart components (#6467) -
[@mantine/core]
Select: FixonChange
being called with the already selected if it has been picked from the dropdown (#6468) -
[@mantine/dates]
DatePickerInput: FixhighlightToday
not working (#6471) -
[@mantine/core]
NumberInput: Fix incorrect handling of numbers larger than max safe integer on blur (#6407) -
[@mantine/core]
Tooltip: Fix tooltip arrow being incompatible with headless mode (#6458) -
[@mantine/core]
ActionIcon: Fix loading styles inconsistency with Button component (#6460) -
[@mantine/charts]
PieChart: Fix key error for duplicatedname
data (#6067) -
[@mantine/core]
Modal: FixremoveScrollProps.ref
not being compatible with React 19 (#6446) -
[@mantine/core]
TagsInput: FixselectFirstOptionOnChange
prop not working (#6337) -
[@mantine/hooks]
use-eye-dropper: Fix Opera being incorrectly detected as a supported browser (#6307) -
[@mantine/core]
Fix:host
selector now working correctly incssVariablesSelector
of MantineProvider (#6404) -
[@mantine/core]
TagsInput: FixonChange
being called twice when Enter key is pressed in some cases (#6416) -
[@mantine/modals]
Fix Modal overrides type augmentation not working with TypeScript 5.5 (#6443) -
[@mantine/core]
Tree: FixlevelOffset
prop being added to the root DOM element (#6461)
New Contributors
- @bsl-zcs made their first contribution in https://github.com/mantinedev/mantine/pull/6461
- @florisdg made their first contribution in https://github.com/mantinedev/mantine/pull/6443
- @snlacks made their first contribution in https://github.com/mantinedev/mantine/pull/6425
- @lid0a made their first contribution in https://github.com/mantinedev/mantine/pull/6415
- @Knamer95 made their first contribution in https://github.com/mantinedev/mantine/pull/6416
- @yyytae0 made their first contribution in https://github.com/mantinedev/mantine/pull/6404
- @toanxyz made their first contribution in https://github.com/mantinedev/mantine/pull/6388
- @viktorkasap made their first contribution in https://github.com/mantinedev/mantine/pull/6307
- @alexlapp made their first contribution in https://github.com/mantinedev/mantine/pull/6337
- @brycefranzen made their first contribution in https://github.com/mantinedev/mantine/pull/6446
- @marcobiedermann made their first contribution in https://github.com/mantinedev/mantine/pull/6442
- @mullwar made their first contribution in https://github.com/mantinedev/mantine/pull/6067
- @gruschis made their first contribution in https://github.com/mantinedev/mantine/pull/6400
- @jpranays made their first contribution in https://github.com/mantinedev/mantine/pull/6466
Full Changelog: https://github.com/mantinedev/mantine/compare/7.11.0...7.11.1
v7.11.0
: 👁️
View changelog with demos on mantine.dev website
withProps function
All Mantine components now have withProps
static function that can be used to
add default props to the component:
import { IMaskInput } from 'react-imask';
import { Button, InputBase } from '@​mantine/core';
const LinkButton = Button.withProps({
component: 'a',
target: '_blank',
rel: 'noreferrer',
variant: 'subtle',
});
const PhoneInput = InputBase.withProps({
mask: '+7 (000) 000-0000',
component: IMaskInput,
label: 'Your phone number',
placeholder: 'Your phone number',
});
function Demo() {
return (
<>
{/* You can pass additional props to components created with `withProps` */}
<LinkButton href="https://mantine.dev">Mantine website</LinkButton>
{/* Component props override default props defined in `withProps` */}
<PhoneInput placeholder="Personal phone" />
</>
);
}
Avatar initials
Avatar component now supports displaying initials with auto generated color based on the given name
value.
To display initials instead of the default placeholder, set name
prop
to the name of the person, for example, name="John Doe"
. If the name
is set, you can use color="initials"
to generate color based on the name:
import { Avatar, Group } from '@​mantine/core';
const names = [
'John Doe',
'Jane Mol',
'Alex Lump',
'Sarah Condor',
'Mike Johnson',
'Kate Kok',
'Tom Smith',
];
function Demo() {
const avatars = names.map((name) => <Avatar key={name} name={name} color="initials" />);
return <Group>{avatars}</Group>;
}
BubbleChart component
New BubbleChart component:
import { BubbleChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BubbleChart
h={60}
data={data}
range={[16, 225]}
label="Sales/hour"
color="lime.6"
dataKey={{ x: 'hour', y: 'index', z: 'value' }}
/>
);
}
BarChart waterfall type
BarChart component now supports waterfall
type
which is useful for visualizing changes in values over time:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="item"
type="waterfall"
series={[{ name: 'Effective tax rate in %', color: 'blue' }]}
withLegend
/>
);
}
LineChart gradient type
LineChart component now supports gradient
type
which renders line chart with gradient fill:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
series={[{ name: 'temperature', label: 'Avg. Temperature' }]}
dataKey="date"
type="gradient"
gradientStops={[
{ offset: 0, color: 'red.6' },
{ offset: 20, color: 'orange.6' },
{ offset: 40, color: 'yellow.5' },
{ offset: 70, color: 'lime.5' },
{ offset: 80, color: 'cyan.5' },
{ offset: 100, color: 'blue.5' },
]}
strokeWidth={5}
curveType="natural"
yAxisProps={{ domain: [-25, 40] }}
valueFormatter={(value) => `${value}°C`}
/>
);
}
Right Y axis
LineChart, BarChart and AreaChart components
now support rightYAxis
prop which renders additional Y axis on the right side of the chart:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
dataKey="name"
withRightYAxis
yAxisLabel="uv"
rightYAxisLabel="pv"
series={[
{ name: 'uv', color: 'pink.6' },
{ name: 'pv', color: 'cyan.6', yAxisId: 'right' },
]}
/>
);
}
RadarChart legend
RadarChart component now supports legend:
import { RadarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<RadarChart
h={300}
data={data}
dataKey="product"
withPolarRadiusAxis
withLegend
series={[
{ name: 'Sales January', color: 'blue.6', opacity: 0.2 },
{ name: 'Sales February', color: 'orange.6', opacity: 0.2 },
]}
/>
);
}
TagsInput acceptValueOnBlur
TagsInput component behavior has been changed. Now By default,
if the user types in a value and blurs the input, the value is added to the list.
You can change this behavior by setting acceptValueOnBlur
to false
. In this case, the value is added
only when the user presses Enter
or clicks on a suggestion.
import { TagsInput } from '@​mantine/core';
function Demo() {
return (
<>
<TagsInput
label="Value IS accepted on blur"
placeholder="Enter text, then blur the field"
data={['React', 'Angular', 'Svelte']}
acceptValueOnBlur
/>
<TagsInput
label="Value IS NOT accepted on blur"
placeholder="Enter text, then blur the field"
data={['React', 'Angular', 'Svelte']}
acceptValueOnBlur={false}
mt="md"
/>
</>
);
}
Transition delay
Transition component now supports enterDelay
and exitDelay
props to delay transition start:
import { useState } from 'react';
import { Button, Flex, Paper, Transition } from '@​mantine/core';
export function Demo() {
const [opened, setOpened] = useState(false);
return (
<Flex maw={200} pos="relative" justify="center" m="auto">
<Button onClick={() => setOpened(true)}>Open dropdown</Button>
<Transition mounted={opened} transition="pop" enterDelay={500} exitDelay={300}>
{(transitionStyle) => (
<Paper
shadow="md"
p="xl"
h={120}
pos="absolute"
inset={0}
bottom="auto"
onClick={() => setOpened(false)}
style={{ ...transitionStyle, zIndex: 1 }}
>
Click to close
</Paper>
)}
</Transition>
</Flex>
);
}
Documentation updates
- New segmented progress example has been added to
Progress
component documentation - Select, TagsInput and MultiSelect components documentation now includes additional demo on how to change the dropdown width
- New DatePicker example for
excludeDate
prop
Other changes
-
Pagination component now supports
hideWithOnePage
prop which hides pagination when there is only one page -
Spoiler component now supports controlled expanded state with
expanded
andonExpandedChange
props -
Burger component now supports
lineSize
prop to change lines height -
Calendar, DatePicker and other similar components now support
highlightToday
prop to highlight today's date
v7.10.2
What's Changed
-
[@mantine/core]
Select: Fix incorrect state changes handling when bothvalue
andsearchValue
are controlled (#6272) -
[@mantine/core]
Stepper: FixautoContrast
prop being added to the DOM element -
[@mantine/charts]
PieChart: Fix inner label not using formatted value (#6328) -
[@mantine/core]
Fix incorrect color resolving logic in border style prop resolver (#6326) -
[@mantine/modals]
Fix incorrect styles of the confirmation modal when it is used without any description (#6325) -
[@mantine/core]
ScrollArea: Fix click events being triggered when scrollbar drag is released over an interactive element in Firefox (#6354) -
[@mantine/core]
Combobox: Fix clicks on footer and header triggering dropdown close (#6344) -
[@mantine/core]
PasswordInput: FixwithErrorStyles
prop being passed to the DOM element (#6348)
New Contributors
- @stefanzmf made their first contribution in https://github.com/mantinedev/mantine/pull/6344
- @Prasiddha22 made their first contribution in https://github.com/mantinedev/mantine/pull/6325
- @ShionTerunaga made their first contribution in https://github.com/mantinedev/mantine/pull/6332
- @djdduty made their first contribution in https://github.com/mantinedev/mantine/pull/6326
- @Jones-Griffin made their first contribution in https://github.com/mantinedev/mantine/pull/6328
- @floriankapaun made their first contribution in https://github.com/mantinedev/mantine/pull/6272
Full Changelog: https://github.com/mantinedev/mantine/compare/7.10.1...7.10.2
v7.10.1
What's Changed
-
[@mantine/charts]
BarChart: Add waterfall type (#6231) -
[@mantine/form]
Fixform.setFieldError
called insideform.onSubmit
not working correctly in some cases (#6101) -
[@mantine/core]
SegmentedControl: Fix false error reported by React 18.3+ for incorrect key prop usage -
[@mantine/hooks]
use-fetch: Fix incorrect error handling (#6278) -
[@mantine/core]
Fixbd
style prop not being applied in some components (#6282) -
[@mantine/core]
NumberInput: Fix incorrect leading zeros handling (#6232) -
[@mantine/core]
NumberInput: Fix incorrect logic while editing decimal values (#6232) -
[@mantine/core]
ScrollArea: Fix scrollbar flickering on reveal with hover and scroll types (#6218) -
[@mantine/hooks]
Update use-throttled-* hooks to emit updates on trailing edges (#6257) -
[@mantine/core]
Input: AddinputSize
prop to setsize
html attribute on the input element
New Contributors
- @a-kon made their first contribution in https://github.com/mantinedev/mantine/pull/6265
- @dfaust made their first contribution in https://github.com/mantinedev/mantine/pull/6257
- @ElTupac made their first contribution in https://github.com/mantinedev/mantine/pull/6278
Full Changelog: https://github.com/mantinedev/mantine/compare/7.10.0...7.10.1
v7.10.0
: 😎
View changelog with demos on mantine.dev website
Tree component
New Tree component:
import { IconFolder, IconFolderOpen } from '@​tabler/icons-react';
import { Group, RenderTreeNodePayload, Tree } from '@​mantine/core';
import { CssIcon, NpmIcon, TypeScriptCircleIcon } from '@​mantinex/dev-icons';
import { data, dataCode } from './data';
import classes from './Demo.module.css';
interface FileIconProps {
name: string;
isFolder: boolean;
expanded: boolean;
}
function FileIcon({ name, isFolder, expanded }: FileIconProps) {
if (name.endsWith('package.json')) {
return <NpmIcon size={14} />;
}
if (name.endsWith('.ts') || name.endsWith('.tsx') || name.endsWith('tsconfig.json')) {
return <TypeScriptCircleIcon size={14} />;
}
if (name.endsWith('.css')) {
return <CssIcon size={14} />;
}
if (isFolder) {
return expanded ? (
<IconFolderOpen color="var(--mantine-color-yellow-9)" size={14} stroke={2.5} />
) : (
<IconFolder color="var(--mantine-color-yellow-9)" size={14} stroke={2.5} />
);
}
return null;
}
function Leaf({ node, expanded, hasChildren, elementProps }: RenderTreeNodePayload) {
return (
<Group gap={5} {...elementProps}>
<FileIcon name={node.value} isFolder={hasChildren} expanded={expanded} />
<span>{node.label}</span>
</Group>
);
}
function Demo() {
return (
<Tree
classNames={classes}
selectOnClick
clearSelectionOnOutsideClick
data={data}
renderNode={(payload) => <Leaf {...payload} />}
/>
);
}
form.getInputNode
New form.getInputNode(path)
handler returns input DOM node for the given field path.
Form example, it can be used to focus input on form submit if there is an error:
import { Button, Group, TextInput } from '@​mantine/core';
import { isEmail, isNotEmpty, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
name: '',
email: '',
},
validate: {
name: isNotEmpty('Name is required'),
email: isEmail('Invalid email'),
},
});
return (
<form
onSubmit={form.onSubmit(
(values) => console.log(values),
(errors) => {
const firstErrorPath = Object.keys(errors)[0];
form.getInputNode(firstErrorPath)?.focus();
}
)}
>
<TextInput
withAsterisk
label="Your name"
placeholder="Your name"
key={form.key('name')}
{...form.getInputProps('name')}
/>
<TextInput
withAsterisk
label="Your email"
placeholder="your@email.com"
key={form.key('email')}
{...form.getInputProps('email')}
/>
<Group justify="flex-end" mt="md">
<Button type="submit">Submit</Button>
</Group>
</form>
);
}
Container queries in SimpleGrid
You can now use container queries in SimpleGrid component. With container queries, grid columns and spacing will be adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { SimpleGrid } from '@​mantine/core';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// it is not required in real projects
<div style={{ resize: 'horizontal', overflow: 'hidden', maxWidth: '100%' }}>
<SimpleGrid
type="container"
cols={{ base: 1, '300px': 2, '500px': 5 }}
spacing={{ base: 10, '300px': 'xl' }}
>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</SimpleGrid>
</div>
);
}
Checkbox and Radio indicators
New Checkbox.Indicator and Radio.Indicator
components look exactly the same as Checkbox
and Radio
components, but they do not
have any semantic meaning, they are just visual representations of checkbox and radio states.
Checkbox.Indicator
component:
import { Checkbox, Group } from '@​mantine/core';
function Demo() {
return (
<Group>
<Checkbox.Indicator />
<Checkbox.Indicator checked />
<Checkbox.Indicator indeterminate />
<Checkbox.Indicator disabled />
<Checkbox.Indicator disabled checked />
<Checkbox.Indicator disabled indeterminate />
</Group>
);
}
Radio.Indicator
component:
import { Group, Radio } from '@​mantine/core';
function Demo() {
return (
<Group>
<Radio.Indicator />
<Radio.Indicator checked />
<Radio.Indicator disabled />
<Radio.Indicator disabled checked />
</Group>
);
}
Checkbox and Radio cards
New Checkbox.Card and Radio.Card
components can be used as replacements for Checkbox
and Radio
to build custom cards/buttons/etc.
that work as checkboxes and radios. Components are accessible by default and support the same
keyboard interactions as input[type="checkbox"]
and input[type="radio"]
.
Checkbox.Card
component:
import { useState } from 'react';
import { Checkbox, Group, Text } from '@​mantine/core';
import classes from './Demo.module.css';
function Demo() {
const [checked, setChecked] = useState(false);
return (
<Checkbox.Card
className={classes.root}
radius="md"
checked={checked}
onClick={() => setChecked((c) => !c)}
>
<Group wrap="nowrap" align="flex-start">
<Checkbox.Indicator />
<div>
<Text className={classes.label}>@​mantine/core</Text>
<Text className={classes.description}>
Core components library: inputs, buttons, overlays, etc.
</Text>
</div>
</Group>
</Checkbox.Card>
);
}
Checkbox.Card
component with Checkbox.Group
:
import { useState } from 'react';
import { Checkbox, Group, Stack, Text } from '@​mantine/core';
import classes from './Demo.module.css';
const data = [
{
name: '@​mantine/core',
description: 'Core components library: inputs, buttons, overlays, etc.',
},
{ name: '@​mantine/hooks', description: 'Collection of reusable hooks for React applications.' },
{ name: '@​mantine/notifications', description: 'Notifications system' },
];
function Demo() {
const [value, setValue] = useState<string[]>([]);
const cards = data.map((item) => (
<Checkbox.Card className={classes.root} radius="md" value={item.name} key={item.name}>
<Group wrap="nowrap" align="flex-start">
<Checkbox.Indicator />
<div>
<Text className={classes.label}>{item.name}</Text>
<Text className={classes.description}>{item.description}</Text>
</div>
</Group>
</Checkbox.Card>
));
return (
<>
<Checkbox.Group
value={value}
onChange={setValue}
label="Pick packages to install"
description="Choose all packages that you will need in your application"
>
<Stack pt="md" gap="xs">
{cards}
</Stack>
</Checkbox.Group>
<Text fz="xs" mt="md">
CurrentValue: {value.join(', ') || '–'}
</Text>
</>
);
}
Radio.Card
component:
import { useState } from 'react';
import { Group, Radio, Text } from '@​mantine/core';
import classes from './Demo.module.css';
function Demo() {
const [checked, setChecked] = useState(false);
return (
<Radio.Card
className={classes.root}
radius="md"
checked={checked}
onClick={() => setChecked((c) => !c)}
>
<Group wrap="nowrap" align="flex-start">
<Radio.Indicator />
<div>
<Text className={classes.label}>@​mantine/core</Text>
<Text className={classes.description}>
Core components library: inputs, buttons, overlays, etc.
</Text>
</div>
</Group>
</Radio.Card>
);
}
Radio.Card
component with Radio.Group
:
import { useState } from 'react';
import { Group, Radio, Stack, Text } from '@​mantine/core';
import classes from './Demo.module.css';
const data = [
{
name: '@​mantine/core',
description: 'Core components library: inputs, buttons, overlays, etc.',
},
{ name: '@​mantine/hooks', description: 'Collection of reusable hooks for React applications.' },
{ name: '@​mantine/notifications', description: 'Notifications system' },
];
function Demo() {
const [value, setValue] = useState<string | null>(null);
const cards = data.map((item) => (
<Radio.Card className={classes.root} radius="md" value={item.name} key={item.name}>
<Group wrap="nowrap" align="flex-start">
<Radio.Indicator />
<div>
<Text className={classes.label}>{item.name}</Text>
<Text className={classes.description}>{item.description}</Text>
</div>
</Group>
</Radio.Card>
));
return (
<>
<Radio.Group
value={value}
onChange={setValue}
label="Pick one package to install"
description="Choose a package that you will need in your application"
>
<Stack pt="md" gap="xs">
{cards}
</Stack>
</Radio.Group>
<Text fz="xs" mt="md">
CurrentValue: {value || '–'}
</Text>
</>
);
}
bd style prop
New bd style prop can be used to set border
CSS property.
It is available in all components that support style props.
Border width value is automatically converted to rem. For border color you can reference theme colors similar to other style props:
import { Box } from '@​mantine/core';
function Demo() {
return <Box bd="1px solid red.5" />;
}
v7.9.2
What's Changed
-
[@mantine/dates]
DateTimePicker: Fix some oftimeInputProps
not being respected (#6204) -
[@mantine/core]
NavLink: Add react-router support to display active route (#6180) -
[@mantine/core]
Fixnonce
attribute not being set on<style />
tag generated in color scheme switching script -
[@mantine/core]
Input: Fix incorrect margins when input wrapper order is explicitly set -
[@mantine/core]
Pagination: Fix types definition being incompatible with @tabler/icons-react 3.x -
[@mantine/charts]
Fix incorrect tooltip position in LineChart, AreaChart and BarChart with vertical orientation -
[@mantine/core]
Rating: FixreadOnly
prop now working on touch devices (#6202) -
[@mantine/core]
TagsInput: Fix existing search value being ignored inonPaste
even handler (#6073) -
[@mantine/core]
TagsInput: Improveclearable
prop logic related to dropdown (#6115)
New Contributors
- @corydeppen made their first contribution in https://github.com/mantinedev/mantine/pull/6180
- @rodda-kyusu made their first contribution in https://github.com/mantinedev/mantine/pull/6204
- @iguit0 made their first contribution in https://github.com/mantinedev/mantine/pull/6233
- @Shadowfita made their first contribution in https://github.com/mantinedev/mantine/pull/6238
Full Changelog: https://github.com/mantinedev/mantine/compare/7.9.1...7.9.2
v7.9.1
What's Changed
-
[@mantine/core]
Fixtheme.scale
being ignored in Input, Paper and Table border styles -
[@mantine/core]
FixvirtualColor
function requringuse client
in Next.js -
[@mantine/core]
FloatingIndicator: Fix incorrect resize observer logic (#6129) -
[@mantine/core]
NumberInput: Fix incorrectallowNegative
handling with up/down arrows (#6170) -
[@mantine/core]
Fixerror={true}
prop set on Checkbox, Radio and Switch rendering unxpected error element with margin -
[@mantine/core]
SegmentedControl: Fixtheme.primaryColor
not being respected in the focus ring styles -
[@mantine/core]
CloseButton: Fix incorrect specificity of some selectors -
[@mantine/core]
Fix incorrectaria-label
handling in Select, Autocomplete, MultiSelect and TagsInputs components (#6123) -
[@mantine/core]
Modal: PreventonClose
from being called when modal is not opened (#6156) -
[@mantine/core]
PasswordInput: Fix duplicated password visibility icon in Edge browser (#6126) -
[@mantine/hooks]
use-hash: Fix hash value not being updated correctly (#6145) -
[@mantine/emotion]
Fix incorrect transform logic that was causing extra hooks to render (#6159)
New Contributors
- @lachtanek made their first contribution in https://github.com/mantinedev/mantine/pull/6145
- @hsskey made their first contribution in https://github.com/mantinedev/mantine/pull/6156
- @ataldev made their first contribution in https://github.com/mantinedev/mantine/pull/6198
- @OliverWales made their first contribution in https://github.com/mantinedev/mantine/pull/6188
- @AustinWildgrube made their first contribution in https://github.com/mantinedev/mantine/pull/6170
- @theca11 made their first contribution in https://github.com/mantinedev/mantine/pull/6178
Full Changelog: https://github.com/mantinedev/mantine/compare/7.9.0...7.9.1
v7.9.0
: ✨
View changelog with demos on mantine.dev website
@mantine/emotion package
New @mantine/emotion package is now available to simplify migration
from 6.x to 7.x. It includes createStyles
function and additional
functionality for sx
and styles
props for all components similar to what was available
in @mantine/core
package in v6.
If you still haven't migrated to 7.x because of the change in styling approach, you can now
have a smoother transition by using @mantine/emotion
package. To learn more about the package,
visit the documentation page and updated 6.x to 7.x migration guide.
import { rem } from '@​mantine/core';
import { createStyles } from '@​mantine/emotion';
const useStyles = createStyles((theme, _, u) => ({
wrapper: {
maxWidth: rem(400),
width: '100%',
height: rem(180),
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
marginLeft: 'auto',
marginRight: 'auto',
borderRadius: theme.radius.sm,
// Use light and dark selectors to change styles based on color scheme
[u.light]: {
backgroundColor: theme.colors.gray[1],
},
[u.dark]: {
backgroundColor: theme.colors.dark[5],
},
// Reference theme.breakpoints in smallerThan and largerThan functions
[u.smallerThan('sm')]: {
// Child reference in nested selectors via ref
[`& .${u.ref('child')}`]: {
fontSize: theme.fontSizes.xs,
},
},
},
child: {
// Assign selector to a ref to reference it in other styles
ref: u.ref('child'),
padding: theme.spacing.md,
borderRadius: theme.radius.sm,
boxShadow: theme.shadows.md,
[u.light]: {
backgroundColor: theme.white,
color: theme.black,
},
[u.dark]: {
backgroundColor: theme.colors.dark[8],
color: theme.white,
},
},
}));
function Demo() {
const { classes } = useStyles();
return (
<div className={classes.wrapper}>
<div className={classes.child}>createStyles demo</div>
</div>
);
}
React 18.3 support
All @mantine/*
components and hooks have been updated to support React 18.3. It is
recommended to update your application as well to prepare for the upcoming React 19 release.
use-field hook
New use-field hook is now available in @mantine/form
package.
It can be used as a simpler alternative to use-form hook to manage state of a single input without the need to create a form.
The hook supports most of use-form
hook features: validation with function, touched and
dirty state, error message, validation on change/blur and more.
import { TextInput } from '@​mantine/core';
import { isEmail, useField } from '@​mantine/form';
function Demo() {
const field = useField({
initialValue: '',
validateOnChange: true,
validate: isEmail('Invalid email'),
});
return <TextInput {...field.getInputProps()} label="Email" placeholder="Enter your email" />;
}
use-field
hook also supports async validation:
import { Button, Loader, TextInput } from '@​mantine/core';
import { useField } from '@​mantine/form';
function validateAsync(value: string): Promise<string | null> {
return new Promise((resolve) => {
window.setTimeout(() => {
resolve(value === 'mantine' ? null : 'Value must be "mantine"');
}, 800);
});
}
function Demo() {
const field = useField({
initialValue: '',
validate: validateAsync,
});
return (
<>
<TextInput
{...field.getInputProps()}
label="Enter 'mantine'"
placeholder="Enter 'mantine'"
rightSection={field.isValidating ? <Loader size={18} /> : null}
mb="md"
/>
<Button onClick={field.validate}>Validate async</Button>
</>
);
}
Custom PostCSS mixins
You can now define custom mixins that are not included in mantine-postcss-preset by specifying them
in the mixins
option. To learn about mixins syntax, follow postcss-mixins documentation.
Note that this feature is available in postcss-preset-mantine
starting from version 1.15.0.
Example of adding clearfix
and circle
mixins:
module.exports = {
plugins: {
'postcss-preset-mantine': {
autoRem: true,
mixins: {
clearfix: {
'&::after': {
content: '""',
display: 'table',
clear: 'both',
},
},
circle: (_mixin, size) => ({
borderRadius: '50%',
width: size,
height: size,
}),
},
},
// ... Other plugins
},
};
Then you can use these mixins in your styles:
.demo {
@​mixin clearfix;
@​mixin circle 100px;
}
use-matches hook
New use-matches
hook exported from @mantine/core
is an alternative to use-media-query
if you need to match multiple media queries and values. It accepts an object with media queries as keys and
values at given breakpoint as values.
Note that use-matches
hook uses the same logic as use-media-query under the hood,
it is not recommended to be used as a primary source of responsive styles, especially if you have ssr in your application.
In the following example:
- Starting from
theme.breakpoints.lg
, color will bered.9
- Between
theme.breakpoints.sm
andtheme.breakpoints.lg
, color will beorange.9
- Below
theme.breakpoints.sm
, color will beblue.9
import { Box, useMatches } from '@​mantine/core';
function Demo() {
const color = useMatches({
base: 'blue.9',
sm: 'orange.9',
lg: 'red.9',
});
return (
<Box bg={color} c="white" p="xl">
Box with color that changes based on screen size
</Box>
);
}
BarChart value label
BarChart now supports withBarValueLabel
prop that allows
displaying value label on top of each bar:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
valueFormatter={(value) => new Intl.NumberFormat('en-US').format(value)}
withBarValueLabel
series={[
{ name: 'Smartphones', color: 'violet.6' },
{ name: 'Laptops', color: 'blue.6' },
{ name: 'Tablets', color: 'teal.6' },
]}
/>
);
}
Documentation updates
- New usage with emotion guide
- 6.x -> 7.x guide has been updated to include migration to @mantine/emotion package
- use-field hook documentation
-
Uncontrolled form mode examples now include usage of
form.key()
function - Custom PostCSS mixins documentation
- use-matches hook documentation has been added to the responsive guide
Other changes
- Advanced templates now include GitHub workflows to run tests on CI
- AspectRatio component has been migrated to aspect-ratio CSS property
v7.8.1
Notes
Note that if you've already started using uncontrolled form mode introduced in 7.8.0, you need to include form.key()
as described in the documentation.
What's Changed
-
[@mantine/form]
AdddefaultValue
toform.getInputProps
return type -
[@mantine/form]
Replacekey
spread withform.getInputProps
withform.key()
function -
[@mantine/dropzone]
Fix keyboard activation not working (#6095) -
[@mantine/dates]
DatePicker: Fix date range being stuck in incorrect state when controlled state changes to an empty value (#6092) -
[@mantine/core]
Radio: Allownull
to be passed to Radio.Group value to clear the value (#6102) -
[@mantine/core]
NumberInput: Fix incorrect cursor position when backspace is pressed (#6072) -
[@mantine/core]
Fix incorrect empty string handling in style props (#6078)
New Contributors
- @kgarner7 made their first contribution in https://github.com/mantinedev/mantine/pull/6064
Full Changelog: https://github.com/mantinedev/mantine/compare/7.8.0...7.8.1
v7.8.0
View changelog with demos on mantine.dev website
Auto convert px to rem in .css files
Start from version 1.14.4
postcss-preset-mantine
supports autoRem
option that can be used to automatically convert all px
values
to rem
units in .css
files.
module.exports = {
plugins: {
'postcss-preset-mantine': {
autoRem: true,
},
},
};
This option works similar to rem
function. The following code:
.demo {
font-size: 16px;
@​media (min-width: 320px) {
font-size: 32px;
}
}
Will be transformed to:
.demo {
font-size: calc(1rem * var(--mantine-scale));
@​media (min-width: 320px) {
font-size: calc(2rem * var(--mantine-scale));
}
}
Note that autoRem
converts only CSS properties, values in @media
queries are
not converted automatically – you still need to use em
function to convert them.
autoRem
option does not convert values in the following cases:
- Values in
calc()
,var()
,clamp()
andurl()
functions - Values in
content
property - Values that contain
rgb()
,rgba()
,hsl()
,hsla()
colors
If you want to convert above values to rem units, use rem
function manually.
Uncontrolled form mode
useForm hook now supports uncontrolled mode.
Uncontrolled mode provides a significant performance improvement by reducing
the number of re-renders and the amount of state updates almost to 0. Uncontrolled
mode is now the recommended way to use the useForm
hook for almost all use cases.
Example of uncontrolled form (form.values
are not updated):
import { useState } from 'react';
import { Button, Code, Text, TextInput } from '@​mantine/core';
import { hasLength, isEmail, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: '', email: '' },
validate: {
name: hasLength({ min: 3 }, 'Must be at least 3 characters'),
email: isEmail('Invalid email'),
},
});
const [submittedValues, setSubmittedValues] = useState<typeof form.values | null>(null);
return (
<form onSubmit={form.onSubmit(setSubmittedValues)}>
<TextInput {...form.getInputProps('name')} label="Name" placeholder="Name" />
<TextInput {...form.getInputProps('email')} mt="md" label="Email" placeholder="Email" />
<Button type="submit" mt="md">
Submit
</Button>
<Text mt="md">Form values:</Text>
<Code block>{JSON.stringify(form.values, null, 2)}</Code>
<Text mt="md">Submitted values:</Text>
<Code block>{submittedValues ? JSON.stringify(submittedValues, null, 2) : '–'}</Code>
</form>
);
}
form.getValues
With uncontrolled mode, you can not access form.values
as a state variable,
instead, you can use form.getValues()
method to get current form values at any time:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John Doe' },
});
form.getValues(); // { name: 'John Doe' }
form.setValues({ name: 'John Smith' });
form.getValues(); // { name: 'John Smith' }
form.getValues()
always returns the latest form values, it is safe to use it
after state updates:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John Doe' },
});
const handleNameChange = () => {
form.setFieldValue('name', 'Test Name');
// ❌ Do not use form.values to get the current form values
// form.values has stale name value until next rerender in controlled mode
// and is always outdated in uncontrolled mode
console.log(form.values); // { name: 'John Doe' }
// ✅ Use form.getValues to get the current form values
// form.getValues always returns the latest form values
console.log(form.getValues()); // { name: 'Test Name' }
};
form.watch
form.watch
is an effect function that allows subscribing to changes of a
specific form field. It accepts field path and a callback function that is
called with new value, previous value, touched and dirty field states:
import { TextInput } from '@​mantine/core';
import { useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
name: '',
email: '',
},
});
form.watch('name', ({ previousValue, value, touched, dirty }) => {
console.log({ previousValue, value, touched, dirty });
});
return (
<div>
<TextInput label="Name" placeholder="Name" {...form.getInputProps('name')} />
<TextInput mt="md" label="Email" placeholder="Email" {...form.getInputProps('email')} />
</div>
);
}
Customize Popover middlewares
You can now customize middlewares
options in Popover component and
in other components (Menu, Select, Combobox, etc.)
based on Popover.
To customize Floating UI middlewares options, pass them as
an object to the middlewares
prop. For example, to change shift
middleware padding to 20px
use the following configuration:
import { Popover } from '@​mantine/core';
function Demo() {
return (
<Popover middlewares={{ shift: { padding: 20 } }} position="bottom">
{/* Popover content */}
</Popover>
);
}
use-fetch hook
New use-fetch hook:
import { Box, Button, Code, Group, LoadingOverlay, Text } from '@​mantine/core';
import { useFetch } from '@​mantine/hooks';
interface Item {
userId: number;
id: number;
title: string;
completed: boolean;
}
function Demo() {
const { data, loading, error, refetch, abort } = useFetch<Item[]>(
'https://jsonplaceholder.typicode.com/todos/'
);
return (
<div>
{error && <Text c="red">{error.message}</Text>}
<Group>
<Button onClick={refetch} color="blue">
Refetch
</Button>
<Button onClick={abort} color="red">
Abort
</Button>
</Group>
<Box pos="relative" mt="md">
<Code block>{data ? JSON.stringify(data.slice(0, 3), null, 2) : 'Fetching'}</Code>
<LoadingOverlay visible={loading} />
</Box>
</div>
);
}
use-map hook
New use-map hook:
import { IconPlus, IconTrash } from '@​tabler/icons-react';
import { ActionIcon, Group, Table } from '@​mantine/core';
import { useMap } from '@​mantine/hooks';
function Demo() {
const map = useMap([
['/hooks/use-media-query', 4124],
['/hooks/use-clipboard', 8341],
['/hooks/use-fetch', 9001],
]);
const rows = Array.from(map.entries()).map(([key, value]) => (
<Table.Tr key={key}>
<Table.Td>{key}</Table.Td>
<Table.Td>{value}</Table.Td>
<Table.Td>
<Group>
<ActionIcon variant="default" onClick={() => map.set(key, value + 1)} fw={500}>
<IconPlus stroke={1.5} size={18} />
</ActionIcon>
<ActionIcon variant="default" onClick={() => map.delete(key)} c="red">
<IconTrash stroke={1.5} size={18} />
</ActionIcon>
</Group>
</Table.Td>
</Table.Tr>
));
return (
<Table layout="fixed">
<Table.Thead>
<Table.Tr>
<Table.Th>Page</Table.Th>
<Table.Th>Views last month</Table.Th>
<Table.Th />
</Table.Tr>
</Table.Thead>
<Table.Tbody>{rows}</Table.Tbody>
</Table>
);
}
use-set hook
New use-set hook:
import { useState } from 'react';
import { Code, Stack, TextInput } from '@​mantine/core';
import { useSet } from '@​mantine/hooks';
function Demo() {
const [input, setInput] = useState('');
const scopes = useSet<string>(['@​mantine', '@​mantine-tests', '@​mantinex']);
const isDuplicate = scopes.has(input.trim().toLowerCase());
const items = Array.from(scopes).map((scope) => <Code key={scope}>{scope}</Code>);
return (
<>
<TextInput
label="Add new scope"
placeholder="Enter scope"
description="Duplicate scopes are not allowed"
value={input}
onChange={(event) => setInput(event.currentTarget.value)}
error={isDuplicate && 'Scope already exists'}
onKeyDown={(event) => {
if (event.nativeEvent.code === 'Enter' && !isDuplicate) {
scopes.add(input.trim().toLowerCase());
setInput('');
}
}}
/>
<Stack gap={5} align="flex-start" mt="md">
{items}
</Stack>
</>
);
}
use-debounced-callback hook
New use-debounced-callback hook:
import { useState } from 'react';
import { Loader, Text, TextInput } from '@​mantine/core';
import { useDebouncedCallback } from '@​mantine/hooks';
function getSearchResults(query: string): Promise<{ id: number; title: string }[]> {
return new Promise((resolve) => {
setTimeout(() => {
resolve(
query.trim() === ''
? []
: Array(5)
.fill(0)
.map((_, index) => ({ id: index, title: `${query} ${index + 1}` }))
);
}, 1000);
});
}
function Demo() {
const [search, setSearch] = useState('');
const [searchResults, setSearchResults] = useState<{ id: number; title: string }[]>([]);
const [loading, setLoading] = useState(false);
const handleSearch = useDebouncedCallback(async (query: string) => {
setLoading(true);
setSearchResults(await getSearchResults(query));
setLoading(false);
}, 500);
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
setSearch(event.currentTarget.value);
handleSearch(event.currentTarget.value);
};
return (
<>
<TextInput
value={search}
onChange={handleChange}
placeholder="Search..."
rightSection={loading && <Loader size={20} />}
/>
{searchResults.map((result) => (
<Text key={result.id} size="sm">
{result.title}
</Text>
))}
</>
);
}
use-throttled-state hook
New use-throttled-state hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledState } from '@​mantine/hooks';
function Demo() {
const [throttledValue, setThrottledValue] = useThrottledState('', 1000);
return (
<>
<TextInput
placeholder="Search"
onChange={(event) => setThrottledValue(event.currentTarget.value)}
/>
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-throttled-value hook
New use-throttled-value hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledValue } from '@​mantine/hooks';
function Demo() {
const [value, setValue] = useState('');
const throttledValue = useThrottledValue(value, 1000);
return (
<>
<TextInput placeholder="Search" onChange={(event) => setValue(event.currentTarget.value)} />
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-throttled-callback hook
New use-throttled-callback hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledCallback } from '@​mantine/hooks';
function Demo() {
const [throttledValue, setValue] = useState('');
const throttledSetValue = useThrottledCallback((value) => setValue(value), 1000);
return (
<>
<TextInput
placeholder="Search"
onChange={(event) => throttledSetValue(event.currentTarget.value)}
/>
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-orientation hook
New use-orientation hook:
import { Code, Text } from '@​mantine/core';
import { useOrientation } from '@​mantine/hooks';
function Demo() {
const { angle, type } = useOrientation();
return (
<>
<Text>
Angle: <Code>{angle}</Code>
</Text>
<Text>
Type: <Code>{type}</Code>
</Text>
</>
);
}
use-is-first-render hook
New use-is-first-render hook:
import { useState } from 'react';
import { Button, Text } from '@​mantine/core';
import { useIsFirstRender } from '@​mantine/hooks';
function Demo() {
const [counter, setCounter] = useState(0);
const firstRender = useIsFirstRender();
return (
<div>
<Text>
Is first render:{' '}
<Text span c={firstRender ? 'teal' : 'red'}>
{firstRender ? 'Yes' : 'No!'}
</Text>
</Text>
<Button onClick={() => setCounter((c) => c + 1)} mt="sm">
Rerendered {counter} times, click to rerender
</Button>
</div>
);
}
Documentation updates
- New uncontrolled form guide
- onValuesChange documentation has been added
- A new demo has been added to tiptap that shows how to customize typography styles
- A new guide has been added to customize Popover middlewares
Other changes
-
NumberInput now supports
withKeyboardEvents={false}
to disable up/down arrow keys handling - Popover shift middleware now has default padding of 5px to offset dropdown near the edge of the viewport
mantinedev/mantine (@mantine/core)
v7.17.7
v7.17.6
: 7.17.7
What's Changed
-
[@mantine/core]
Table: FixstickyHeader
prop having impact onth
selector specificity (#7767) -
[@mantine.core]
NumberInput: Fixmax
prop not reseting value on blur if the value is larger than Number.MAX_SAFE_INTEGER (#7766) -
[@mantine.hook]
use-resize-observer: Fix width/height not being calculated correctly for elements withbox-sizing: content-box
(#7764) -
[@mantine/core]
NavLink: FixrightSection={null}
not disabling chevron -
[@mantine.hook]
use-hotkeys: FixusePhysicalKeys
option not working with spacial keys (#7761) -
[@mantine/core]
Modal: Fix scrollarea used inside the modal affecting the position of the close button (#7738) -
[@mantine/core]
Select: Fix defineddefaultValue
being ignored withdata
updates (#7742) -
[@mantine/core]
ScrollArea: Fix content overflowing the viewport in some cases (#7748) -
[@mantine/charts]
RadarChart: Add tooltip and dots support (#7749) -
[@mantine/modals]
FixconfirmProps
not available inupdateModal
function (#7750) -
[@mantine/hooks]
use-debounced-callback: FixflushOnUnmount
not working (#7745) -
[@mantine/core]
Table: Add missing TableScrollContainerProps export
New Contributors
- @gfazioli made their first contribution in https://github.com/mantinedev/mantine/pull/7740
- @LilyStilson made their first contribution in https://github.com/mantinedev/mantine/pull/7749
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.5...7.17.6
v7.17.5
What's Changed
-
[@mantine/form]
Addform.getInitialValues
handler -
[@mantine/core]
RangeSlider: Fix first thumb not being focused when the component root is clicked (#7731) -
[@mantine/core]
PillsInput: Remove lefovermultiline
prop types (#7727) -
[@mantine/charts]
CompositeChart: Fixtype="stacked"
being confused with BarChart behavior -
[@mantine/core]
Notification: Allow changing role attribute on the root element (#7682) -
[@mantine/hooks]
use-idle: Fixwheel
event not being tracked (#7669) -
[@mantine/core]
Table: AddmaxHeight
prop support toTable.ScrollContainer
(#7713) -
[@mantine/core]
Modal: Fix incorrect Escape key handling during IME composition (#7700) -
[@mantine/form]
AdddefaultChecked
toform.getInputProps
return type (#7702) -
[@mantine/hooks]
use-hotkeys: Update matching logic to include both physical and layout keys (#7708) -
[@mantine/dates]
Fix day.js isSame function not working correctly for non-Gregorian calendars (#7712) -
[@mantine.core]
SegmentedControl: Fix animation not working with controlled value (#7721)
New Contributors
- @danielytics made their first contribution in https://github.com/mantinedev/mantine/pull/7708
- @tvandoren made their first contribution in https://github.com/mantinedev/mantine/pull/7702
- @AliAkrem made their first contribution in https://github.com/mantinedev/mantine/pull/7669
- @scato3 made their first contribution in https://github.com/mantinedev/mantine/pull/7739
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.4...7.17.5
v7.17.4
What's Changed
-
[@mantine/hooks]
use-orientation: Add option to customize initial values (#7657) -
[@mantine/core]
FixselectFirstOptionOnChange
not working correctly (#7583) -
[@mantine/core]
Fix error thrown when Textarea was used on cloudflare workers (#7637) -
[@mantine/core]
Allow spacing, radius and font-size types augmentation (#7644) -
[@mantine/core]
ScrollArea: Fix scrollbars being invisible whenoffsetScrollbars='present'
is not set (#7647) -
[@mantine/core]
TypographyStylesProvider: Fix headings font-family not matching the value defined on the theme (#7651) -
[@mantine/core]
Paper: Add CSS variable for border-color for easier overrides (#7654) -
[@mantine/core]
Table: FixstickyHeader
prop affecting border rendering (#7658) -
[@mantine/core]
Slider: FixonChangeEnd
using stale external state (#7660)
New Contributors
- @Han5991 made their first contribution in https://github.com/mantinedev/mantine/pull/7660
- @WojakGra made their first contribution in https://github.com/mantinedev/mantine/pull/7658
- @drew-r made their first contribution in https://github.com/mantinedev/mantine/pull/7651
- @mark-night made their first contribution in https://github.com/mantinedev/mantine/pull/7644
- @Odonno made their first contribution in https://github.com/mantinedev/mantine/pull/7636
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.3...7.17.4
v7.17.3
What's Changed
-
[@mantine/core]
Pill: Fix incorrectremoveButtonProps
type -
[@mantine/modals]
Fixdata-*
attributes not being included in types for confirm and cancel button props -
[@mantine/core]
Fix incorrect selected option position handling when search changes in Select, MultiSelect, Autocomplete and TagsInput (#7583) -
[@mantine/core]
SegmentedControl: Fix incorrect indicator position whendata
is updated (#7615) -
[@mantine/core]
ScrollArea: Fix scrollbars being revealed on hover when hidden withoffsetScrollbars="present"
(#7599) -
[@mantine/core]
AppShell: Fix disabled prop not removing aside and footer margins (#7609) -
[@mantine/modals]
Fix incorrect esm exports paths (#7603) -
[@mantine/core]
Checkbox: Set indeterminate attribute on the DOM node (#7608, #7613)
New Contributors
- @andrewborstein made their first contribution in https://github.com/mantinedev/mantine/pull/7613
- @connorads made their first contribution in https://github.com/mantinedev/mantine/pull/7603
- @ofk made their first contribution in https://github.com/mantinedev/mantine/pull/7609
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.2...7.17.3
v7.17.2
What's Changed
-
[@mantine/core]
Menu: Fix missingwithProps
function -
[@mantine/core]
Transition: Fix 1px child elements shift in Chrome for animations with scaling -
[@mantine/core]
ScrollArea: AddoffsetScrollbars="present"
option support (#7527) -
[@mantine/core]
Notification: AddloaderProps
to pass props down to Loader component (#7577) -
[@mantine/core]
Tooltip: Fixref
prop not working correctly on the child element of the tooltip (#7578) -
[@mantine/core]
Select: Fix dropdown not openning in Firefox (#7539)
New Contributors
- @yushihang made their first contribution in https://github.com/mantinedev/mantine/pull/7579
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.1...7.17.2
v7.17.1
What's Changed
-
[@mantine/core]
Select: Fix caret displayed when the readonly input is clicked (#7476) -
[@mantine/charts]
Fix incorrect types ofclassNames
prop of PieChart and DonutChart components (#7475) -
[@mantine/charts]
BubbleChart: Fix broken layout whenlabel
prop is used with React 19 -
[@mantine/form]
Fix missingisJSONString
export (#7508) -
[@mantine/core]
Fix MultiSelect and TagsInputs dropdowns still being opened on click when components were used inside disabled fieldset (#7528) -
[@mantine/code-highlight]
Fallback unsupported code to plaintext (#7497) -
[@mantine/emotion]
Improve "Go to definition" support forcreateStyles
classes (#7526)
New Contributors
- @kino90 made their first contribution in https://github.com/mantinedev/mantine/pull/7513
- @tranhl made their first contribution in https://github.com/mantinedev/mantine/pull/7526
- @imcvampire made their first contribution in https://github.com/mantinedev/mantine/pull/7497
- @ched-dev made their first contribution in https://github.com/mantinedev/mantine/pull/7480
- @ysalo made their first contribution in https://github.com/mantinedev/mantine/pull/7508
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.0...7.17.1
v7.17.0
: 🌶️
View changelog with demos on mantine.dev website
Last 7.x minor release
This is the last minor release in the 7.x
series. The next release will be 8.0
with breaking changes and new features.
You are welcome to review the changelog/code and provide feedback and bug reports in Discord or GitHub discussions:
- Changelog – https://alpha.mantine.dev/changelog/8-0-0/
- Source code – https://github.com/mantinedev/mantine/tree/8.0
How to update your project dependencies to the new alpha version:
- Open your
package.json
- Find all
@mantine/
packages - Update version of all
@mantine/
packages to8.0.0-alpha.0
- Install dependencies with your package manager, for example,
yarn
ornpm install
Important notes:
- 8.0 release is scheduled for May 5th. Until then you can influence the included breaking changes by proving feedback using Discord or GitHub discussions.
- Currently most of planned breaking changes are implemented – it is not planned to introduce other significant breaking changes (unless new versions of recharts or tiptap are released before May 5th).
- You can find the updated source code in 8.0 branch on GitHub
- Since the changes to codebase are not that significant compared to previous major releases, it is not planned to deprecate 7.x version as soon as 8.0 is release. 7.17.x patches are planned to be released for some time – if you are not ready to migrate to 8.x, you will still be able to receive bug fixes for 7.x (no new features though).
Portal reuseTargetNode prop
Portal component now supports reuseTargetNode
prop which allows to reuse the same target node for all instances.
This option is more performant than the previous behavior, it is recommended to be enabled.
This option will be enabled by default in the 8.0
major release.
To enable reuseTargetNode option in all components that depend on Portal, add the following code to your theme:
import { createTheme, Portal } from '@​mantine/core';
export const theme = createTheme({
components: {
Portal: Portal.extend({
defaultProps: {
reuseTargetNode: true,
},
}),
},
});
Example usage. In the following example, all three paragraphs will be rendered in the same target node:
import { Portal } from '@​mantine/core';
function Demo() {
return (
<>
<Portal reuseTargetNode>
<p>First</p>
</Portal>
<Portal reuseTargetNode>
<p>Second</p>
</Portal>
<Portal reuseTargetNode>
<p>Third</p>
</Portal>
</>
);
}
use-form formRootRule
formRootRule
is a special rule path that can be used to validate objects and arrays
alongside with their nested fields. For example, it is useful when you want to capture
a list of values, validate each value individually and then validate the list itself
to not be empty:
import { IconTrash } from '@​tabler/icons-react';
import { ActionIcon, Button, Group, Switch, Text, TextInput } from '@​mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@​mantine/form';
import { randomId } from '@​mantine/hooks';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
employees: [{ name: '', active: false, key: randomId() }],
},
validate: {
employees: {
[formRootRule]: isNotEmpty('At least one employee is required'),
name: isNotEmpty('Name is required'),
},
},
});
const fields = form.getValues().employees.map((item, index) => (
<Group key={item.key} mt="xs">
<TextInput
placeholder="John Doe"
withAsterisk
style={{ flex: 1 }}
key={form.key(`employees.${index}.name`)}
{...form.getInputProps(`employees.${index}.name`)}
/>
<Switch
label="Active"
key={form.key(`employees.${index}.active`)}
{...form.getInputProps(`employees.${index}.active`, { type: 'checkbox' })}
/>
<ActionIcon color="red" onClick={() => form.removeListItem('employees', index)}>
<IconTrash size={16} />
</ActionIcon>
</Group>
));
return (
<form onSubmit={form.onSubmit(() => {})}>
{fields.length > 0 ? (
<Group mb="xs">
<Text fw={500} size="sm" style={{ flex: 1 }}>
Name
</Text>
<Text fw={500} size="sm" pr={90}>
Status
</Text>
</Group>
) : (
<Text c="dimmed" ta="center">
No one here...
</Text>
)}
{fields}
{form.errors.employees && (
<Text c="red" size="sm" mt="sm">
{form.errors.employees}
</Text>
)}
<Group justify="space-between" mt="md">
<Button
variant="default"
onClick={() => {
form.insertListItem('employees', { name: '', active: false, key: randomId() });
form.clearFieldError('employees');
}}
>
Add employee
</Button>
<Button type="submit">Submit</Button>
</Group>
</form>
);
}
Another example is to validate an object fields combination:
import { Button, Text, TextInput } from '@​mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
user: {
firstName: '',
lastName: '',
},
},
validate: {
user: {
[formRootRule]: (value) =>
value.firstName.trim().length > 0 && value.firstName === value.lastName
? 'First name and last name cannot be the same'
: null,
firstName: isNotEmpty('First name is required'),
lastName: isNotEmpty('Last name is required'),
},
},
});
return (
<form onSubmit={form.onSubmit(() => {})}>
<TextInput
label="First name"
placeholder="First name"
{...form.getInputProps('user.firstName')}
/>
<TextInput
label="Last name"
placeholder="Last name"
mt="md"
{...form.getInputProps('user.lastName')}
/>
{form.errors.user && (
<Text c="red" mt={5} fz="sm">
{form.errors.user}
</Text>
)}
<Button type="submit" mt="lg">
Submit
</Button>
</form>
);
}
isJSONString and isNotEmptyHTML form validators
New isJSONString
and isNotEmptyHTML
form validators:
-
isNotEmptyHTML
checks that form value is not an empty HTML string. Empty string, string with only HTML tags and whitespace are considered to be empty. -
isJSONString
checks that form value is a valid JSON string.
import { isJSONString, useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: {
json: '',
html: '',
},
validate: {
json: isJSONString('Invalid JSON string'),
html: isNotEmptyHTML('HTML cannot be empty'),
},
});
Popover onDismiss
Popover now supports onDismiss
prop, which makes it easier
to subscribe to outside clicks and escape key presses to close popover:
import { useState } from 'react';
import { Button, Popover } from '@​mantine/core';
function Demo() {
const [opened, setOpened] = useState(false);
return (
<Popover opened={opened} onDismiss={() => setOpened(false)}>
<Popover.Target>
<Button onClick={() => setOpened((o) => !o)}>Toggle popover</Button>
</Popover.Target>
<Popover.Dropdown>Dropdown</Popover.Dropdown>
</Popover>
);
}
MantineProvider env
MantineProvider component now supports env
prop.
It can be used in test environment to disable some features that
might impact tests and/or make it harder to test components:
- transitions that mount/unmount child component with delay
- portals that render child component in a different part of the DOM
To enable test environment, set env
to test
:
import { MantineProvider } from '@​mantine/core';
function Demo() {
return <MantineProvider env="test">{/* Your app here */}</MantineProvider>;
}
use-file-dialog hook
New use-file-dialog allows capturing one or more files from the user without file input element:
import { Button, Group, List } from '@​mantine/core';
import { useFileDialog } from '@​mantine/hooks';
function Demo() {
const fileDialog = useFileDialog();
const pickedFiles = Array.from(fileDialog.files || []).map((file) => (
<List.Item key={file.name}>{file.name}</List.Item>
));
return (
<div>
<Group>
<Button onClick={fileDialog.open}>Pick files</Button>
{pickedFiles.length > 0 && (
<Button variant="default" onClick={fileDialog.reset}>
Reset
</Button>
)}
</Group>
{pickedFiles.length > 0 && <List mt="lg">{pickedFiles}</List>}
</div>
);
}
Remix deprecation
Remix is deprecated, the documentation related to Remix integration was removed, use React Router instead. To simplify maintenance, Remix/React Router templates were archived and will not be updated.
Help center updates
- I get hydration warning about data-mantine-color-scheme attribute, what does it mean? question
- How can I apply styles to all Mantine components? question
Other changes
-
Tooltip now supports customizing
middlewares
-
ScrollArea now supports
overscrollBehavior
prop -
Affix now supports
theme.spacing
values forposition
prop -
Anchor now supports
underline="not-hover"
option to display underline only when the link is not hovered
v7.16.3
What's Changed
-
[@mantine/core]
Removeuse client
fromisLightColor
function -
[@mantine/core]
TextInput: Fix autocomplete forvariant
prop not working -
[@mantine/carousel]
Fix aria-hidden warning displayed in Chrome console when indicator is clicked (#7414) -
[@mantine/core]
Fix clear button overlaying input content in Autocomplete and other similar components (#7431) -
[@mantine/core]
Combobox: Fix incorrect dropdown padding when used with ScrollArea (#7450) -
[@mantine/core]
Fix0
gradientdeg
value not working correctly (#7444) -
[@mantine/core]
ScrollArea: Fix user-select being left as none after interaction with scrollbar in some edge cases (#7423) -
[@mantine/dates]
DateInput: Fix infinite loop in Safari (#7442)
New Contributors
- @kingflamez made their first contribution in https://github.com/mantinedev/mantine/pull/7442
- @webkonstantin made their first contribution in https://github.com/mantinedev/mantine/pull/7423
- @marcinlukanus made their first contribution in https://github.com/mantinedev/mantine/pull/7444
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.2...7.16.3
v7.16.2
What's Changed
-
[@mantine/core]
Tooltip: Migrate from deprecateduseDelayGroupContext
hook touseDelayGroup
-
[@mantine/core]
Tabs: FixtabIndex={0}
set onTabs.Tab
being ignored (#7407) -
[@mantine/core]
Fix chevron icon not being clickable in Select and MultiSelect components (#7395) -
[@mantine/dates]
MonthPicker: Fix infinite useEffect with use-form in some cases (#7389) -
[@mantine/hooks]
use-hotkeys: Add better support for non-QUERTY keyboards (#7390) -
[@mantine/dates]
DateTimePicker: Fix timezone conversion being applied twice (#7400) -
[@mantine/hooks]
Fix potential dangerous access of ref value in useEffect cleanup (#7404)
New Contributors
- @ohansFavour made their first contribution in https://github.com/mantinedev/mantine/pull/7402
- @danpeavey-classdojo made their first contribution in https://github.com/mantinedev/mantine/pull/7390
- @openscript made their first contribution in https://github.com/mantinedev/mantine/pull/7389
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.1...7.16.2
v7.16.1
What's Changed
-
[@mantine/core]
Menu: AddwithInitialFocusPlaceholder
prop support -
[@mantine/core]
Slider: FixonChangeEnd
being called whendisabled
prop is set -
[@mantine/core]
Add option to customize chevron color withchevronColor
prop in Select and MultiSelect components -
[@mantine/core]
Fix incorrect styles of nested tables (#7354) -
[@mantine/core]
: NumberInput: FixonChange
being called inonBlur
if the value has not been changed (#7383) -
[@mantine/core]
Menu: Adddata-disabled
prop handling to Menu.Item component (#7377) -
[@mantine/form]
Fix incorrect values handling inform.resetDirty
(#7373) -
[@mantine/chart]
AreaChart: FixgridColor
andtextColor
props being passed as attributes to the DOM node (#7378) -
[@mantine/hooks]
use-in-viewport: Fix tracking being stopped when used with a dnd library (#7359) -
[@mantine/core]
MantineProvider: Fix jest tests not running in case there is incorrectwindow.matchMedia
polyfill implementation (#7360) -
[@mantine/core]
Modal: Fix Escape key not working in old Safari versions (#7358)
New Contributors
- @kidonng made their first contribution in https://github.com/mantinedev/mantine/pull/7364
- @Benjaminsson made their first contribution in https://github.com/mantinedev/mantine/pull/7360
- @cameronrdecker made their first contribution in https://github.com/mantinedev/mantine/pull/7380
- @tomrehnstrom made their first contribution in https://github.com/mantinedev/mantine/pull/7373
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.0...7.16.1
v7.16.0
: 🌶️
View changelog with demos on mantine.dev website
use-scroll-spy hook
New use-scroll-spy hook tracks scroll position and returns index of the element that is currently in the viewport. It is useful for creating table of contents components (like in mantine.dev sidebar on the right side) and similar features.
import { Text, UnstyledButton } from '@​mantine/core';
import { useScrollSpy } from '@​mantine/hooks';
function Demo() {
const spy = useScrollSpy({
selector: '#mdx :is(h1, h2, h3, h4, h5, h6)',
});
const headings = spy.data.map((heading, index) => (
<li
key={heading.id}
style={{
listStylePosition: 'inside',
paddingInlineStart: heading.depth * 20,
background: index === spy.active ? 'var(--mantine-color-blue-light)' : undefined,
}}
>
<UnstyledButton onClick={() => heading.getNode().scrollIntoView()}>
{heading.value}
</UnstyledButton>
</li>
));
return (
<div>
<Text>Scroll to heading:</Text>
<ul style={{ margin: 0, padding: 0 }}>{headings}</ul>
</div>
);
}
TableOfContents component
New TableOfContents component is built on top of use-scroll-spy
hook
and can be used to create table of contents components like the one on the right side of mantine.dev
documentation sidebar:
import { TableOfContents } from '@​mantine/core';
function Demo() {
return (
<TableOfContents
variant="filled"
color="blue"
size="sm"
radius="sm"
scrollSpyOptions={{
selector: '#mdx :is(h1, h2, h3, h4, h5, h6)',
}}
getControlProps={({ data }) => ({
onClick: () => data.getNode().scrollIntoView(),
children: data.value,
})}
/>
);
}
Input.ClearButton component
New Input.ClearButton
component can be used to add clear button to custom inputs
based on Input
component. size
of the clear button is automatically
inherited from the input:
import { Input } from '@​mantine/core';
function Demo() {
const [value, setValue] = useState('clearable');
return (
<Input
placeholder="Clearable input"
value={value}
onChange={(event) => setValue(event.currentTarget.value)}
rightSection={value !== '' ? <Input.ClearButton onClick={() => setValue('')} /> : undefined}
rightSectionPointerEvents="auto"
size="sm"
/>
);
}
Popover with overlay
Popover and other components based on it now support withOverlay
prop:
import { Anchor, Avatar, Group, Popover, Stack, Text } from '@​mantine/core';
function Demo() {
return (
<Popover
width={320}
shadow="md"
withArrow
withOverlay
overlayProps={{ zIndex: 10000, blur: '8px' }}
zIndex={10001}
>
<Popover.Target>
<UnstyledButton style={{ zIndex: 10001, position: 'relative' }}>
<Avatar src="https://avatars.githubusercontent.com/u/79146003?s=200&v=4" radius="xl" />
</UnstyledButton>
</Popover.Target>
<Popover.Dropdown>
<Group>
<Avatar src="https://avatars.githubusercontent.com/u/79146003?s=200&v=4" radius="xl" />
<Stack gap={5}>
<Text size="sm" fw={700} style={{ lineHeight: 1 }}>
Mantine
</Text>
<Anchor href="https://x.com/mantinedev" c="dimmed" size="xs" style={{ lineHeight: 1 }}>
@​mantinedev
</Anchor>
</Stack>
</Group>
<Text size="sm" mt="md">
Customizable React components and hooks library with focus on usability, accessibility and
developer experience
</Text>
<Group mt="md" gap="xl">
<Text size="sm">
<b>0</b> Following
</Text>
<Text size="sm">
<b>1,174</b> Followers
</Text>
</Group>
</Popover.Dropdown>
</Popover>
);
}
Container queries in Carousel
You can now use container queries in Carousel component. With container queries, all responsive values are adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { Carousel } from '@​mantine/carousel';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// It is not required in real projects
<div
style={{
resize: 'horizontal',
overflow: 'hidden',
maxWidth: '100%',
minWidth: 250,
padding: 10,
}}
>
<Carousel
withIndicators
height={200}
type="container"
slideSize={{ base: '100%', '300px': '50%', '500px': '33.333333%' }}
slideGap={{ base: 0, '300px': 'md', '500px': 'lg' }}
loop
align="start"
>
<Carousel.Slide>1</Carousel.Slide>
<Carousel.Slide>2</Carousel.Slide>
<Carousel.Slide>3</Carousel.Slide>
{/* ...other slides */}
</Carousel>
</div>
);
}
RangeSlider restrictToMarks
RangeSlider component now supports restrictToMarks
prop:
import { Slider } from '@​mantine/core';
function Demo() {
return (
<Stack>
<Slider
restrictToMarks
defaultValue={25}
marks={Array.from({ length: 5 }).map((_, index) => ({ value: index * 25 }))}
/>
<RangeSlider
restrictToMarks
defaultValue={[5, 15]}
marks={[
{ value: 5 },
{ value: 15 },
{ value: 25 },
{ value: 35 },
{ value: 70 },
{ value: 80 },
{ value: 90 },
]}
/>
</Stack>
);
}
Pagination withPages prop
Pagination component now supports withPages
prop which allows hiding pages
controls and displaying only previous and next buttons:
import { useState } from 'react';
import { Group, Pagination, Text } from '@​mantine/core';
const limit = 10;
const total = 145;
const totalPages = Math.ceil(total / limit);
function Demo() {
const [page, setPage] = useState(1);
const message = `Showing ${limit * (page - 1) + 1} – ${Math.min(total, limit * page)} of ${total}`;
return (
<Group justify="flex-end">
<Text size="sm">{message}</Text>
<Pagination total={totalPages} value={page} onChange={setPage} />
</Group>
);
}
useForm touchTrigger option
use-form hook now supports touchTrigger
option that allows customizing events that change touched state.
It accepts two options:
-
change
(default) – field will be considered touched when its value changes or it has been focused -
focus
– field will be considered touched only when it has been focused
Example of using focus
trigger:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { a: 1 },
touchTrigger: 'focus',
});
form.isTouched('a'); // -> false
form.setFieldValue('a', 2);
form.isTouched('a'); // -> false
// onFocus is called automatically when the user focuses the field
form.getInputProps('a').onFocus();
form.isTouched('a'); // -> true
Help Center updates
- Native browser validation does not work in some components, what should I do? question
- My styles are broken with disabled JavaScript. What should I do? question
- How can I add fuzzy search to Select component? question
- use-local-storage hook returns real value only after mounting, is it a bug? question
- How can I upload files from Dropzone component? question
Other changes
-
Autocomplete now supports
clearable
prop - where-* mixins documentation has been added
-
use-local-storage hook now supports
sync
option which allows disabling synchronization between browser tabs
v7.15.3
What's Changed
-
[@mantine/charts]
BarChart: FixtextColor
prop being passed down as attribute to the DOM node -
[@mantine/core]
TypographyStylesProvider: Fix incorrect top and bottom margins of first and last elements (#7334) -
[@mantine/core]
Transition: Fix some transitions being incompatible with headless mode (#7306) -
[@mantine/dates]
DateTimePicker: Set milliseconds to 0 on the result date object (#7328) -
[@mantine/dates]
FixhasNextLevel
prop type leak to DateTimePicker component (#7319) -
[@mantine/core]
Avatar: Change initials function to use the full name to generate color (#7322) -
[@mantine/hooks]
use-merged-ref: Add support for ref cleanup function in React 19 (#7304) -
[@mantine/hooks]
use-debounced-callback: Addflush
method to returned callback (#7272) -
[@mantine/dates]
Improve compatibility with dayjs plugins in all components (#7302) -
[@mantine/core]
Update peer dependencies to support React 19 (#7321)
New Contributors
- @baravak made their first contribution in https://github.com/mantinedev/mantine/pull/7302
- @scamden made their first contribution in https://github.com/mantinedev/mantine/pull/7272
- @YukiKoNeko made their first contribution in https://github.com/mantinedev/mantine/pull/7322
- @yuki0410-dev made their first contribution in https://github.com/mantinedev/mantine/pull/7319
- @zoubingwu made their first contribution in https://github.com/mantinedev/mantine/pull/7323
- @clarknova made their first contribution in https://github.com/mantinedev/mantine/pull/7328
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.2...7.15.3
v7.15.2
What's Changed
-
[@mantine/dates]
DatePicker: Fix incorrect handling of receiving partial value whentype="range"
(#7278) -
[@mantine/hooks]
use-local-storage: Fix value not being updated whenkey
changes (#7286) -
[@mantine/charts]
FixgridColor
prop being passed down as attribute to html element (#7288) -
[@mantine/core]
Update react-textarea-autosize to support React 19 (#7297) -
[@mantine/core]
TypographyStylesProvider: Fix margin removal affecting non-typography elements (#7290) -
[@mantine/core]
Tooltip: Addmiddlewares
prop support (#7281) -
[@mantine/core]
FloatingIndicator: Fix incorrect position calculations when the parent element has border (#7267) -
[@mantine/core]
ScrollArea: Fix scrollbar not changing with the scroll position on first render (#7257, #7260) -
[@mantine/tiptap]
Fix incorrect paragraph styles inside lists (#7255) -
[@mantine/hooks]
Fix incorrect ref types in use-move, use-radial-move, use-in-viewport and use-scroll-into-view (#7252) -
[@mantine/form]
Fix incorrect validators types (#7242)
New Contributors
- @QuinnStraus made their first contribution in https://github.com/mantinedev/mantine/pull/7255
- @tamago324 made their first contribution in https://github.com/mantinedev/mantine/pull/7260
- @StyxOfDynamite made their first contribution in https://github.com/mantinedev/mantine/pull/7270
- @lamualfa made their first contribution in https://github.com/mantinedev/mantine/pull/7267
- @angristan made their first contribution in https://github.com/mantinedev/mantine/pull/7284
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.1...7.15.2
v7.15.1
What's Changed
-
[@mantine/dates]
Improve focus behavior of DatePickerInput, DateInput and other components -
[@mantine/form]
AddtouchTrigger
option support -
[@mantine/hooks]
Add option to specify prefix inrandonId
function -
[@mantine/core]
FixwithProps
function requiring all component props instead of partial -
[@mantine/core]
AdduseModalStackContext
anduseDrawerStackContext
hooks exports -
[@mantine/core]
ActionIcon: Addinput-*
autocomplete forsize
prop -
[@mantine/core]
AppShell: Fix incorrect defaultoffsetScrollbars
value forlayout="alt"
-
[@mantine/core]
FixvirtualColor
function not working in server components (#7184) -
[@mantine/core]
Checkbox: Fix incorrect Checkbox.Card behavior inside Checkbox.Group (#7187) -
[@mantine/core]
Checkbox: Fix incorrect Checkbox.Card behavior inside Checkbox.Group (#7187) -
[@mantine/core]
Slider: Add option to pass attributes down to thumb withthumbProps
(#7214) -
[@mantine/core]
Switch: Add data-checked attribute to the input (#7228) -
[@mantine/dates]
FixhasNextLevel
prop type leak to DatePicker component (#7229) -
[@mantine/dates]
Fix timezone not being applied to the formatted value (#7162) -
[@mantine/modals]
FixmodalId
being passed to the DOM node as attribute (#7189) -
[@mantine/core]
TypographyStylesProvider: Fix incorrect paragraphs inside lists styles (#7226) -
[@mantine/core]
Slider: Fix icon used as thumb child not being visible with the dark color scheme (#7231, #7232) -
[@mantine/tiptap]
Fix missing border in custom controls (#7239)
New Contributors
- @jnachtigall made their first contribution in https://github.com/mantinedev/mantine/pull/7238
- @onkar-deshpande made their first contribution in https://github.com/mantinedev/mantine/pull/7226
- @anthonyalayo made their first contribution in https://github.com/mantinedev/mantine/pull/7188
- @NyxinU made their first contribution in https://github.com/mantinedev/mantine/pull/7162
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.0...7.15.1
v7.15.0
: 💋
View changelog with demos on mantine.dev website
Support Mantine development
You can now sponsor Mantine development with OpenCollective. All funds will be used to improve Mantine and create new features and components.
use-radial-move hook
New use-radial-move hook can be used to create custom radial sliders:
import { useState } from 'react';
import { Box } from '@​mantine/core';
import { useRadialMove } from '@​mantine/hooks';
import classes from './Demo.module.css';
function Demo() {
const [value, setValue] = useState(115);
const { ref } = useRadialMove(setValue);
return (
<Box className={classes.root} ref={ref} style={{ '--angle': `${value}deg` }}>
<div className={classes.value}>{value}°</div>
<div className={classes.thumb} />
</Box>
);
}
BarChart color based on value
BarChart component now supports getBarColor
prop to assign color based on value.
getBarColor
function is called with two arguments: value and series object. It should return a color
string (theme color reference or any valid CSS color value).
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
getBarColor={(value) => (value > 700 ? 'teal.8' : 'red.8')}
series={[{ name: 'Laptops', color: 'gray.6' }]}
/>
);
}
Button.GroupSection and ActionIcon.GroupSection
ActionIcon.GroupSection
and Button.GroupSection
are new components that
can be used in ActionIcon.Group
/Button.Group
to create sections that are
not ActionIcon
/Button
components:
import { IconChevronDown, IconChevronUp } from '@​tabler/icons-react';
import { ActionIcon } from '@​mantine/core';
import { useCounter } from '@​mantine/hooks';
function Demo() {
const [value, { increment, decrement }] = useCounter(135, { min: 0 });
return (
<ActionIcon.Group>
<ActionIcon variant="default" size="lg" radius="md" onClick={decrement}>
<IconChevronDown color="var(--mantine-color-red-text)" />
</ActionIcon>
<ActionIcon.GroupSection variant="default" size="lg" bg="var(--mantine-color-body)" miw={60}>
{value}
</ActionIcon.GroupSection>
<ActionIcon variant="default" size="lg" radius="md" onClick={increment}>
<IconChevronUp color="var(--mantine-color-teal-text)" />
</ActionIcon>
</ActionIcon.Group>
);
}
Table vertical variant
Table component now support variant="vertical"
:
import { Table } from '@​mantine/core';
export function Demo() {
return (
<Table variant="vertical" layout="fixed" withTableBorder>
<Table.Tbody>
<Table.Tr>
<Table.Th w={160}>Epic name</Table.Th>
<Table.Td>7.x migration</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Status</Table.Th>
<Table.Td>Open</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Total issues</Table.Th>
<Table.Td>135</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Total story points</Table.Th>
<Table.Td>874</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Last updated at</Table.Th>
<Table.Td>September 26, 2024 17:41:26</Table.Td>
</Table.Tr>
</Table.Tbody>
</Table>
);
}
Table tabular numbers
Table component now supports tabularNums
prop to render numbers in tabular style. It sets
font-variant-numeric: tabular-nums
which makes numbers to have equal width.
This is useful when you have columns with numbers and you want them to be aligned:
import { NumberFormatter, Table } from '@​mantine/core';
const data = [
{ product: 'Apples', unitsSold: 2214411234 },
{ product: 'Oranges', unitsSold: 9983812411 },
{ product: 'Bananas', unitsSold: 1234567890 },
{ product: 'Pineapples', unitsSold: 9948810000 },
{ product: 'Pears', unitsSold: 9933771111 },
];
function Demo() {
const rows = data.map((item) => (
<Table.Tr key={item.product}>
<Table.Td>{item.product}</Table.Td>
<Table.Td>
<NumberFormatter value={item.unitsSold} thousandSeparator />
</Table.Td>
</Table.Tr>
));
return (
<Table tabularNums>
<Table.Thead>
<Table.Tr>
<Table.Th>Product</Table.Th>
<Table.Th>Units sold</Table.Th>
</Table.Tr>
</Table.Thead>
<Table.Tbody>{rows}</Table.Tbody>
</Table>
);
}
Update function in modals manager
Modals manager now supports modals.updateModal
and modals.updateContextModal
function to update modal after it was opened:
import { Button } from '@​mantine/core';
import { modals } from '@​mantine/modals';
function Demo() {
return (
<Button
onClick={() => {
const modalId = modals.open({
title: 'Initial Modal Title',
children: <Text>This text will update in 2 seconds.</Text>,
});
setTimeout(() => {
modals.updateModal({
modalId,
title: 'Updated Modal Title',
children: (
<Text size="sm" c="dimmed">
This is the updated content of the modal.
</Text>
),
});
}, 2000);
}}
>
Open updating modal
</Button>
);
}
useForm submitting state
use-form hook now supports form.submitting
field
and form.setSubmitting
function to track form submission state.
form.submitting
field will be set to true
if function passed to
form.onSubmit
returns a promise. After the promise is resolved or rejected,
form.submitting
will be set to false
:
import { useState } from 'react';
import { Button, Group, Stack, Text, TextInput } from '@​mantine/core';
import { useForm } from '@​mantine/form';
const asyncSubmit = (values: any) =>
new Promise((resolve) => setTimeout(() => resolve(values), 3000));
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John' },
});
const [completed, setCompleted] = useState(false);
const handleSubmit = async (values: typeof form.values) => {
await asyncSubmit(values);
setCompleted(true);
};
if (completed) {
return (
<Stack>
<Text>Form submitted!</Text>
<Button onClick={() => setCompleted(false)}>Reset to initial state</Button>
</Stack>
);
}
return (
<form onSubmit={form.onSubmit(handleSubmit)}>
<TextInput
withAsterisk
label="Name"
placeholder="Your name"
key={form.key('name')}
disabled={form.submitting}
{...form.getInputProps('name')}
/>
<Group justify="flex-end" mt="md">
<Button type="submit" loading={form.submitting}>
Submit
</Button>
</Group>
</form>
);
}
You can also manually set form.submitting
to true
or false
:
import { useForm } from '@​mantine/form';
const form = useForm({ mode: 'uncontrolled' });
form.submitting; // -> false
form.setSubmitting(true);
form.submitting; // -> true
form.setSubmitting(false);
form.submitting; // -> false
useForm onSubmitPreventDefault option
use-form hook now supports onSubmitPreventDefault
option.
This option is useful if you want to integrate useForm
hook with server actions.
By default, event.preventDefault()
is called on the form onSubmit
handler.
If you want to change this behavior, you can pass onSubmitPreventDefault
option
to useForm
hook. It can have the following values:
-
always
(default) - always callevent.preventDefault()
-
never
- never callevent.preventDefault()
-
validation-failed
- callevent.preventDefault()
only if validation failed
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
onSubmitPreventDefault: 'never',
});
Subtle RichTextEditor variant
RichTextEditor component now supports subtle
variant:
import Highlight from '@​tiptap/extension-highlight';
import Underline from '@​tiptap/extension-underline';
import { useEditor } from '@​tiptap/react';
import StarterKit from '@​tiptap/starter-kit';
import { RichTextEditor } from '@​mantine/tiptap';
const content = '<p>Subtle rich text editor variant</p>';
function Demo() {
const editor = useEditor({
extensions: [StarterKit, Underline, Highlight],
content,
});
return (
<RichTextEditor editor={editor} variant="subtle">
<RichTextEditor.Toolbar sticky stickyOffset={60}>
<RichTextEditor.ControlsGroup>
<RichTextEditor.Bold />
<RichTextEditor.Italic />
<RichTextEditor.Underline />
<RichTextEditor.Strikethrough />
<RichTextEditor.ClearFormatting />
<RichTextEditor.Highlight />
<RichTextEditor.Code />
</RichTextEditor.ControlsGroup>
</RichTextEditor.Toolbar>
<RichTextEditor.Content />
</RichTextEditor>
);
}
onExitTransitionEnd and onEnterTransitionEnd
Modal and Drawer components now support onExitTransitionEnd
and onEnterTransitionEnd
props,
which can be used to run code after exit/enter transition is finished. For example, this is useful when you want to clear
data after modal is closed:
import { useState } from 'react';
import { Button, Group, Modal } from '@​mantine/core';
import { useDisclosure } from '@​mantine/hooks';
function Demo() {
const [firstOpened, firstHandlers] = useDisclosure(false);
const [secondOpened, secondHandlers] = useDisclosure(false);
const [modalData, setModalData] = useState({
title: '',
message: '',
});
return (
<>
<Modal
opened={firstOpened}
onClose={() => {
firstHandlers.close();
setModalData({ title: '', message: '' });
}}
title={modalData.title}
>
{modalData.message}
</Modal>
<Modal
opened={secondOpened}
onClose={secondHandlers.close}
onExitTransitionEnd={() => setModalData({ title: '', message: '' })}
title={modalData.title}
>
{modalData.message}
</Modal>
<Group>
<Button
onClick={() => {
firstHandlers.open();
setModalData({ title: 'Edit your profile', message: 'Imagine a form here' });
}}
>
Clear data in onClose
</Button>
<Button
onClick={() => {
secondHandlers.open();
setModalData({ title: 'Edit your profile', message: 'Imagine a form here' });
}}
>
Clear data in onExitTransitionEnd
</Button>
</Group>
</>
);
}
Week numbers in DatePicker
DatePicker and other components based on Calendar component now support withWeekNumbers
prop to display week numbers:
import { DatePicker } from '@​mantine/dates';
function Demo() {
return <DatePicker withWeekNumbers />;
}
New demo: BarChart with overlay
import { BarChart } from '@​mantine/charts';
import { data } from './data';
import classes from './Demo.module.css';
function Demo() {
const bigBarWidth = useMediaQuery('(min-width: 48em)') ? 42 : 26;
const ratio = 0.5;
const smallBarWidth = bigBarWidth * ratio;
const barGap = (bigBarWidth + smallBarWidth) / -2;
return (
<BarChart
h={300}
data={overlayData}
dataKey="index"
barChartProps={{ barGap }}
barProps={(data) => ({ barSize: data.name === 'you' ? bigBarWidth : smallBarWidth })}
classNames={classes}
series={[
{ name: 'you', color: 'var(--you-bar-color)' },
{ name: 'average', color: 'var(--average-bar-color)' },
]}
/>
);
}
Variants types augmentation
Custom variants types augmentation guide was added to the documentation.
Example of adding custom variant type to Button component:
import { ButtonVariant, MantineSize } from '@​mantine/core';
type ExtendedButtonVariant = ButtonVariant | 'contrast' | 'radial-gradient';
declare module '@​mantine/core' {
export interface ButtonProps {
variant?: ExtendedButtonVariant;
}
}
Help Center updates
- How to use Mantine template on GitHub? and How can I submit a template to Mantine documentation? pages were moved from the documentation to Help Center
- How that thing is done on mantine.dev website? question
- Why is it required to have 10 shades per color? question
- Why I see color scheme flickering on page load? question
- How can I test Modal/Drawer/Popover components? question
v7.14.3
What's Changed
-
[@mantine/core]
Slider: FixrestrictToMarks
prop not working with arrow and Home/End keys correctly -
[@mantine/core]
Checkbox: Fix Checkbox.Card component not working withform.getInputProps
-
[@mantine/core]
Tree: AddcheckOnSpace
prop support (#7132) -
[@mantine/core]
ScrollArea: Fix opacity style ofthumb
being too specific (#7149) -
[@mantine/dates]
AddwithWeekNumbers
prop support to all components based on Calendar (#7179) -
[@mantine/core]
Replace globalJSX
types withReact.JSX
to support React 19 types (#7178)
New Contributors
- @yesmeck made their first contribution in https://github.com/mantinedev/mantine/pull/7178
- @ustun-ed made their first contribution in https://github.com/mantinedev/mantine/pull/7181
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.2...7.14.3
v7.14.2
What's Changed
-
[@mantine/core]
AddonEnterTranstionEnd
andonExitTransitionEnd
props support to Modal, Drawer and Popover components -
[@mantine/charts]
DonutChart: FixvalueFormatter
prop not working, addlabelsType
prop support (#7153) -
[@mantine/charts]
BarChart: Fix incorrect labels positions in some cases (#7160) -
[@mantine/core]
PasswordInput: FixvisibilityToggleButtonProps.variant
prop being ignored (#7144) -
[@mantine/core]
Improvewindow.matchMedia
usage to support test environments withoutmatchMedia
support (#7147) -
[@mantine/core]
Fix arrow overlaying Popover, Tooltip and HoverCard content in some cases (#7148) -
[@mantine/form]
AddonSubmitPreventDefault
option support (#7142) -
[@mantine/core]
TypographyStylesProvider: Fix incorrect lists styles -
[@mantine/notifications]
Fix notifications with bottom-right and top-right positions shifting when modal/drawer is opened -
[@mantine/core]
FileInput: Add missing placeholder Styles API reference -
[@mantine/core]
Update floating-ui, react-textarea-autosize and type-fest dependencies to the latest version -
[@mantine/modals]
AddupdateModal
andupdateContextModal
functions (#7104) -
[@mantine/tiptap]
Fix too specific styles that prevented controls border-radius override without !important -
[@mantine/tiptap]
Fix disabled controls having hover effects and pointer cursor -
[@mantine/core]
FileInput: Add missingcomponent
prop -
[@mantine/core]
AngleSlider: Fix page being scrolled when the value is being changed on mobile -
[@mantine/core]
NumberInput: Fix increment/decrement controls not being visible if the value is number like string -
[@mantine/core]
NavLink: Fix collapse for nested links being rendered even if there are no child links (#7133) -
[@mantine/dates]
FixdefaultDate
prop being ignore in YearPickerInput and MonthPickerInput components (#7108) -
[@mantine/dropzone]
Updatereact-dropzone-esm
to the latest version
New Contributors
- @lsanwick made their first contribution in https://github.com/mantinedev/mantine/pull/7147
- @minosss made their first contribution in https://github.com/mantinedev/mantine/pull/7160
- @me-gusta-v made their first contribution in https://github.com/mantinedev/mantine/pull/7153
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.1...7.14.2
v7.14.1
What's Changed
-
[@mantine/hooks]
use-hotkeys: Fix+
sign not being supported (syntax:shift+[plus]
) (#7123) -
[@mantine/core]
Popover: Fixstyles
prop being handled incorrectly (#7120) -
[@mantine/charts]
FixvalueFormatter
not working in point labels of LineChant, AreaChart and CompositeChart components (#6989) -
[@mantine/core]
Popover: FixonOpen
andonClose
callbacks being called on each render (#7022, #7111, #7115) -
[@mantine/core]
Menu: FixBlocked aria-hidden
warning when an interactive element is clicked outside of the Menu.Dropdown when the Menu is opened (#7035) -
[@mantine/core]
Fixtop
style prop not being conveted to rem (#7112) -
[@mantine/dates]
DateInput: FixdefaultDate
prop not working when the value is set tonull
(#4426) -
[@mantine/core]
NumberInput: Remove increment/decrement control if value cannot be safely incremented (is larger than Number.MAX_SAFE_INTEGER) (#7033) -
[@mantine/core]
NumberInput: Fix value being reverted to start value if intial component value is a string -
[@mantine/notifications]
FixNotificationData
type being too broad (#7097) -
[@mantine/core]
RingProgress: AddtransitionDuration
prop support (#7103) -
[@mantine/core]
TagsInput: Fix incorrect tag remove logic with duplicated tags (#7105) -
[@mantine/core]
Combobox: Fix incorrectaria-controls
attribute being set on the target element when the dropdown is closed (#7114)
New Contributors
- @Samy0412 made their first contribution in https://github.com/mantinedev/mantine/pull/7114
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.0...7.14.1
v7.14.0
: 💋
View changelog with demos on mantine.dev website
AngleSlider component
New AngleSlider component:
import { AngleSlider, Group } from '@​mantine/core';
function Demo() {
return (
<Group p="lg" gap={50}>
<AngleSlider
aria-label="Angle slider"
formatLabel={(value) => `${value}°`}
size={100}
restrictToMarks
marks={[
{ value: 0 },
{ value: 45 },
{ value: 90 },
{ value: 135 },
{ value: 180 },
{ value: 225 },
{ value: 270 },
{ value: 315 },
]}
/>
<AngleSlider
aria-label="Angle slider"
formatLabel={(value) => `${value}°`}
size={100}
marks={[
{ value: 0, label: '0°' },
{ value: 45, label: '45°' },
{ value: 90, label: '90°' },
{ value: 135, label: '135°' },
{ value: 180, label: '180°' },
{ value: 225, label: '225°' },
{ value: 270, label: '270°' },
{ value: 315, label: '315°' },
]}
/>
</Group>
);
}
RadialBarChart component
New RadialBarChart component:
import { RadialBarChart } from '@​mantine/charts';
const data = [
{ name: '18-24', value: 31.47, color: 'blue.7' },
{ name: '25-29', value: 26.69, color: 'orange.6' },
{ name: '30-34', value: 15.69, color: 'yellow.7' },
{ name: '35-39', value: 8.22, color: 'cyan.6' },
{ name: '40-49', value: 8.63, color: 'green' },
{ name: '50+', value: 2.63, color: 'pink' },
{ name: 'unknown', value: 6.67, color: 'gray' },
];
function Demo() {
return <RadialBarChart data={data} dataKey="value" h={280} withLabels />;
}
FunnelChart component
New FunnelChart component:
import { FunnelChart } from '@​mantine/charts';
const data = [
{ name: 'USA', value: 400, color: 'indigo.6' },
{ name: 'India', value: 300, color: 'yellow.6' },
{ name: 'Japan', value: 100, color: 'teal.6' },
{ name: 'Other', value: 200, color: 'gray.6' },
];
function Demo() {
return <FunnelChart data={data} />;
}
Modal.Stack and Drawer.Stack components
New Modal.Stack and Drawer.Stack components simplify usage of multiple modals/drawers at the same time.
Use Modal.Stack
component to render multiple modals at the same time.
Modal.Stack
keeps track of opened modals, manages z-index values, focus trapping
and closeOnEscape
behavior. Modal.Stack
is designed to be used with useModalsStack
hook.
Differences from using multiple Modal
components:
-
Modal.Stack
manages z-index values – modals that are opened later will always have higher z-index value disregarding their order in the DOM -
Modal.Stack
disables focus trap andEscape
key handling for all modals except the one that is currently opened - Modals that are not currently opened are present in the DOM but are hidden with
opacity: 0
andpointer-events: none
- Only one overlay is rendered at a time
import { Button, Group, Modal, useModalsStack } from '@​mantine/core';
function Demo() {
const stack = useModalsStack(['delete-page', 'confirm-action', 'really-confirm-action']);
return (
<>
<Modal.Stack>
<Modal {...stack.register('delete-page')} title="Delete this page?">
Are you sure you want to delete this page? This action cannot be undone.
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={() => stack.open('confirm-action')} color="red">
Delete
</Button>
</Group>
</Modal>
<Modal {...stack.register('confirm-action')} title="Confirm action">
Are you sure you want to perform this action? This action cannot be undone. If you are
sure, press confirm button below.
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={() => stack.open('really-confirm-action')} color="red">
Confirm
</Button>
</Group>
</Modal>
<Modal {...stack.register('really-confirm-action')} title="Really confirm action">
Jokes aside. You have confirmed this action. This is your last chance to cancel it. After
you press confirm button below, action will be performed and cannot be undone. For real
this time. Are you sure you want to proceed?
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={stack.closeAll} color="red">
Confirm
</Button>
</Group>
</Modal>
</Modal.Stack>
<Button onClick={() => stack.open('delete-page')}>Open modal</Button>
</>
);
}
useModalsStack/useDrawersStack hooks
useModalsStack
hook provides an easy way to control multiple modals at the same time.
It accepts an array of unique modals ids and returns an object with the following properties:
interface ModalStackReturnType<T extends string> {
// Current opened state of each modal
state: Record<T, boolean>;
// Opens modal with the given id
open: (id: T) => void;
// Closes modal with the given id
close: (id: T) => void;
// Toggles modal with the given id
toggle: (id: T) => void;
// Closes all modals within the stack
closeAll: () => void;
// Returns props for modal with the given id
register: (id: T) => {
opened: boolean;
onClose: () => void;
stackId: T;
};
}
Example of using useModalsStack
with Modal
component:
import { Modal, useModalsStack } from '@​mantine/core';
function Demo() {
const stack = useModalsStack(['first', 'second']);
return (
<>
<Modal {...stack.register('first')}>First</Modal>
<Modal {...stack.register('second')}>Second</Modal>
<Button onClick={() => stack.open('first')}>Open first</Button>
</>
);
}
Restrict Slider selection to marks
Slider component now supports restrictToMarks
prop that restricts slider value to marks only.
Note that in this case step
prop is ignored:
import { Slider } from '@​mantine/core';
function Demo() {
return (
<Slider
restrictToMarks
defaultValue={25}
marks={Array.from({ length: 5 }).map((_, index) => ({ value: index * 25 }))}
/>
);
}
BarChart SVG pattern fill
BarChart now can be used with SVG pattern fill:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={mixedStackData}
dataKey="month"
series={[
{ name: 'Smartphones', color: 'url(#crosshatch)', stackId: 'a' },
{ name: 'Laptops', color: 'blue.6', stackId: 'b' },
{ name: 'Tablets', color: 'url(#diagonalStripes)', stackId: 'b' },
]}
>
<defs>
<pattern
id="diagonalStripes"
patternUnits="userSpaceOnUse"
width={6}
height={8}
patternTransform="rotate(45)"
>
<rect
width="2"
height="8"
transform="translate(0,0)"
fill="color-mix(in lch, var(--mantine-color-teal-6) 70%, rgba(0,0,0,0))"
/>
</pattern>
<pattern id="crosshatch" patternUnits="userSpaceOnUse" width={8} height={8}>
<path
d="M 0 0 L 8 0 L 8 8 L 0 8 Z"
fill="none"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
<path
d="M 0 0 L 8 8"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
<path
d="M 8 0 L 0 8"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
</pattern>
</defs>
</BarChart>
);
}
Help center updates
- New Can I use nested inline styles with Mantine components? question
- New Can I use PostCSS function in inline styles? question
- New Why my Carousel slides are in vertical orientation? question
- New My buttons are transparent and the background is visible only on hover, what is wrong? question
- New Can I have different primary color for light and dark color schemes? question
- New How can I change body background color? question
- New My Popover dropdown closes when I click on the dropdown of nested Popover question
Other changes
-
useTree hook now accepts
onNodeExpand
andonNodeCollapse
callbacks -
useTree hook now returns additional
checkAllNodes
,uncheckAllNodes
andsetCheckedState
handlers -
Tree component now includes
getTreeExpandedState
to generate expanded state based on the tree data -
use-form now supports
form.replaceListItem
handler to replace list item at given index
v7.13.5
What's Changed
-
[@mantine/core]
Update peer dependencies range for react to allow react and react-dom 19 as dependcy -
[@mantine/core]
Fix error in Next.js with React 19 related to ref prop usage in Tooltip, Popover and Combobox components (#7028) -
[@mantine/core]
FileButton: FixresetRef
throwing error if the component is contidionally rendered (#7025) -
[@mantine/core]
Button: Fix incorrect focus styles of Button.Group (#6992) -
[@mantine/charts]
CompositeCharts: Fix missingkey
prop error (#7020) -
[@mantine/core]
NumberInput: Fixmin
/max
value being bypassed if0
has been entered as the first digit (#7021) -
[@mantine/form]
Add useCallback wrapper toform.resetDirty
(#7029) -
[@mantine/core]
Combobox: Fix incorrect logic of selected options when the dropdown is closed without selecting value (#7039) -
[@mantine/charts]
BarChart: AddbarLabelColor
prop support -
[@mantine/charts]
BarChart: Fix bar label being positioned incorrectly with horizontal orientation (#7042) -
[@mantine/charts]
RadarChart: Fix incorrect series prop type (#7046) -
[@mantine/form]
Add additional type exports from the package (#7062) -
[@mantine/core]
Tabs: FixtabIndex
not being overridden by Tabs.Tab props (#7081) -
[@mantine/dates]
DatePickerInput: FixnextLabel
andpreviousLabel
props not being handled correctly (#7082) -
[@mantine/charts]
Update recharts dependency to the latest version to improve Next.js 15 and React 19 support
New Contributors
- @pfo-omicsstudio made their first contribution in https://github.com/mantinedev/mantine/pull/7062
- @zaphire12 made their first contribution in https://github.com/mantinedev/mantine/pull/7046
- @fsd-niraj made their first contribution in https://github.com/mantinedev/mantine/pull/7042
- @MariaBanaszkiewicz made their first contribution in https://github.com/mantinedev/mantine/pull/7039
- @anthony-dandrea made their first contribution in https://github.com/mantinedev/mantine/pull/7029
- @owenmoogk made their first contribution in https://github.com/mantinedev/mantine/pull/7021
- @mariakax3 made their first contribution in https://github.com/mantinedev/mantine/pull/7020
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.4...7.13.5
v7.13.4
Next.js 15 support
The documentation and templates have been updated to support Next.js 15 release, for more information visit – https://mantine.dev/guides/next/
Other changes
-
[@mantine/dates]
DatePickerInput: Fix dropdown staying opened after thedisabled
prop has been set (#7017) -
[@mantine/core]
NumberInput: Fix incorrect ref node type -
[@mantine/core]
Popover: FixonClose
event firing incorrectly
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.3...7.13.4
v7.13.3
What's Changed
-
[@mantine/core]
Fix cqw, cqh, cqi, cqb, cqmax and cqmin size units not being handled correctly in style props -
[@mantine/dates]
DateTimePicker: RemovedefaultValue
andvalue
props fromtimeInputProps
types to avoid confusion (#6959) -
[@mantine/dropzone]
Setdata-disabled
attribute on the root element ifdisabled
prop is set (#6946) -
[@mantine/core]
Modal: Fix default Modal.Root transition being different from Modal component (#6967) -
[@mantine/core]
ColorInput: FixpopoverProps={{ opned: true }}
not working (#6968) -
[@mantine/charts]
FixvalueFormatter
prop not working correctly withorientation="vertical"
in BarChart, AreaChart and LineChart components (#6979) -
[@mantine/core]
Popover: FixonOpen
not being called with controlledopened
state (#6981) -
[@mantine/core]
NumberInput: Fix incorrectmin
prop handling for large numbers (#6985) -
[@mantine/dropzone]
Add HEIF image mime type (#6977) -
[@mantine/core]
PasswordInput: Fix cursor shifting when the visibility button is clicked on touch devices (#6971)
New Contributors
- @eungyeole made their first contribution in https://github.com/mantinedev/mantine/pull/6957
- @thaynam made their first contribution in https://github.com/mantinedev/mantine/pull/6977
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.2...7.13.3
v7.13.2
What's Changed
-
[@mantine/dates]
DateInput: FixonClick
handler passed togetDayProps
not being called -
[@mantine/core]
Badge: Fix incorrect cursor styles -
[@mantine/core]
FileInput: AddresetRef
prop support -
[@mantine/core]
Popover: FixonClose
function being called twice with controlled state -
[@mantine/spotlight]
Fix selected index not being reset when the spotlight is closed (#6842) -
[@mantine/core]
Popover: Improve performance of scrolling when large number of closed Popovers are rendered on the same page (#6771) -
[@mantine/core]
Pagination: FixgetItemProps
not being able to override controlchildren
prop (#6789) -
[@mantine/core]
ScrollArea: FixonBottomReached
not being called if the viewport has decimal px height value (#6792) -
[@mantine/hooks]
use-in-viewport: Fix hook not reacting to node changes (#6926) -
[@mantine/core]
NumberInput: Fix incorrect handling of decimal numbers with more than 15 decimal places (#6823) -
[@mantine/core]
Slider: Fix marks not being aligned correctly (#6909) -
[@mantine/hooks]
use-fullscreen: Fix target node changes being ignored (#6923) -
[@mantine/core]
Badge: Fix incorrect sections alignment forvariant="dot"
-
[@mantine/core]
TagsInput: Fix incorrect logic of removing duplicate tags (#6922) -
[@mantine/core]
AppShell: Fix error when Suspense is rendered inside AppShell (#6927) -
[@mantine/core]
Menu: FixonKeyDown
prop not working in Menu.Dropdown component (#6910)
New Contributors
- @RabeeAbuBaker made their first contribution in https://github.com/mantinedev/mantine/pull/6927
- @linspw made their first contribution in https://github.com/mantinedev/mantine/pull/6923
- @fellmann made their first contribution in https://github.com/mantinedev/mantine/pull/6926
- @maclementED made their first contribution in https://github.com/mantinedev/mantine/pull/6842
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.1...7.13.2
v7.13.1
What's Changed
-
[@mantine/chart]
PieChart: Remove unused CSS (#6903) -
[@mantine/core]
Menu: FixonKeyDown
not working when passed to Menu.Item (#6906) -
[@mantine/core]
TagsInput: Fix duplicated tags being deleted when one of tags with the same value is deleted (#6907) -
[@mantine/dates]
Fix hidden input value not respecting specified timezone (#6881) -
[@mantine/hooks]
use-hover: Fix events not being reattached when the target node changes (#6782) -
[@mantine/colors-generator]
Update chroma-js version to support the latest version (#6879) -
[@mantine/core]
PinInput: Fix incorrectBackspace
key handling on the first input (#6880) -
[@mantine/hooks]
use-state-history: Addreset
handler support (#6769) -
[@mantine/core]
ScrollArea: FixonTopReached
prop not being passed down in ScrollArea.Autosize component (#6747) -
[@mantine/chart]
Fix incorrect types for props passed down to recharts components (#6820) -
[@mantine/form]
Fix indices over 9 not working in form paths in some cases (#6794) -
[@mantine/chart]
BarChart: Fix BarLabel logging errors in the console (#6810) -
[@mantine/chart]
Fix error when chart tooltip label contains period (#6826) -
[@mantine/core]
Title: Add option to use Text font-size and line-height values withsize
prop (#6833) -
[@mantine/date]
Calendar: FixnextLabel
andpreviousLabel
props not working (#6847) -
[@mantine/core]
Fix2xl
and other similar values being treated as CSS value instead of theme value (#6855) -
[@mantine/core]
Breadcrumbs: Fix component with large number of values not wrapping on small screens (#6863) -
[@mantine/core]
Table: Fix thead being overlayed to td in some cases (#6860)
New Contributors
- @ozantekin made their first contribution in https://github.com/mantinedev/mantine/pull/6863
- @Vakarva made their first contribution in https://github.com/mantinedev/mantine/pull/6811
- @zrll12 made their first contribution in https://github.com/mantinedev/mantine/pull/6747
- @AdhamMoussa made their first contribution in https://github.com/mantinedev/mantine/pull/6769
- @GZTimeWalker made their first contribution in https://github.com/mantinedev/mantine/pull/6879
- @max-degterev made their first contribution in https://github.com/mantinedev/mantine/pull/6782
- @ctdunc made their first contribution in https://github.com/mantinedev/mantine/pull/6907
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.0...7.13.1
v7.13.0
: 🎇
View changelog with demos on mantine.dev website
Container queries support in Grid
You can now use container queries in Grid component. With container queries, all responsive values are adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { Grid } from '@​mantine/core';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// it is not required in real projects
<div style={{ resize: 'horizontal', overflow: 'hidden', maxWidth: '100%' }}>
<Grid
type="container"
breakpoints={{ xs: '100px', sm: '200px', md: '300px', lg: '400px', xl: '500px' }}
>
<Col span={{ base: 12, md: 6, lg: 3 }}>1</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>2</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>3</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>4</Col>
</Grid>
</div>
);
}
CompositeChart component
New CompositeChart component allows using Line
, Area
and Bar
charts together in a single chart:
import { CompositeChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<CompositeChart
h={300}
data={data}
dataKey="date"
unit="$"
maxBarWidth={30}
series={[
{ name: 'Tomatoes', color: 'rgba(18, 120, 255, 0.2)', type: 'bar' },
{ name: 'Apples', color: 'red.8', type: 'line' },
{ name: 'Oranges', color: 'yellow.8', type: 'area' },
]}
/>
);
}
Points labels
LineChart and AreaChart now support withPointLabels
prop to display labels on data points:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
dataKey="date"
withLegend
withPointLabels
series={[
{ name: 'Apples', color: 'indigo.6' },
{ name: 'Oranges', color: 'blue.6' },
]}
/>
);
}
ScatterChart also supports point labels, but also allows to control which axis should display labels with pointLabels
prop:
import { ScatterChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<ScatterChart
h={350}
data={data}
dataKey={{ x: 'age', y: 'BMI' }}
xAxisLabel="Age"
yAxisLabel="BMI"
pointLabels="x"
/>
);
}
BarChart: Mixed stacks
You can now control how BarChart series are stacked by setting stackId
property in series object:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
series={[
{ name: 'Smartphones', color: 'violet.6', stackId: 'a' },
{ name: 'Laptops', color: 'blue.6', stackId: 'b' },
{ name: 'Tablets', color: 'teal.6', stackId: 'b' },
]}
/>
);
}
BarChart: Minimum bar size
BarChart now supports minBarSize
prop to set the minimum size of the bar in px:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
withLegend
series={[
{ name: 'Smartphones', color: 'violet.6' },
{ name: 'Laptops', color: 'blue.6' },
{ name: 'Tablets', color: 'teal.6' },
]}
/>
);
}
Help Center updates
- New How to integrate custom input with use-form hook? question
- New Can I remove MultiSelect placeholder when the component has selected values? question
- New How can I load fonts in Remix? question
- New My styles are overridden by Mantine components styles, what should I do? question
- New Why I cannot use one polymorphic component in component prop of another polymorphic component? question
- New Can I use an array of strings as a list in use-form? question
Other changes
- New demo has been added to Chip component with an example of how to deselect radio chip
-
BarChart now supports
maxBarWidth
prop to set the maximum width of each bar in px
v7.12.2
What's Changed
-
[@mantine/hooks]
use-idle: Fix idle countdown not starting if the user did non interact with the page (#6683) -
[@mantine/core]
ScrollArea: FixonBottomReached
prop not being available inScrollArea.Autosize
component -
[@mantine/core]
Removechildren
from Checkbox, Radio and Switch types to avoid accidental errors -
[@mantine/core]
TypographyStylesProvider: Fix incorrect table styles in dark color scheme -
[@mantine/form]
Fix error thrown for nullable values dirty status check (#6672) -
[@mantine/core]
Badge: Fix unexpected change to block layout, fix incorrect alignment when fixed width is set (#6698, #6680) -
[@mantine/core]
ScrollArea: Fix pointer-events being left asnone
after interaction with scrollbar (#6681) -
[@mantine/core]
Tabs: FixkeepMounted
prop being added as attribute toTabs.Panel
DOM element (#6711) -
[@mantine/core]
Tree: AddinitialCheckedState
support (#6697) -
[@mantine/spotlight]
FixSpotlightRoot
component not being exported (#6710) -
[@mantine/dropzone]
Add7z
andrar
mime types exports (#6702) -
[@mantine/dates]
DatePickerInput: Fix incorrect hovered date logic when the component receives value update with partial selected date range (#6718) -
[@mantine/dates]
FixvalueFormatter
prop being added to DateTimePicker types -
[@mantine/core]
Badge: Fix right/left sections height affecting the alignment of the label -
[@mantine/core]
Menu: Fix accessibility warning in devtools when the Menu is opened (#6644)
New Contributors
- @timesince made their first contribution in https://github.com/mantinedev/mantine/pull/6654
- @tokyojack made their first contribution in https://github.com/mantinedev/mantine/pull/6718
- @Streusel made their first contribution in https://github.com/mantinedev/mantine/pull/6702
- @fredgig made their first contribution in https://github.com/mantinedev/mantine/pull/6697
- @chimericdream made their first contribution in https://github.com/mantinedev/mantine/pull/6683
- @Aybrea made their first contribution in https://github.com/mantinedev/mantine/pull/6724
Full Changelog: https://github.com/mantinedev/mantine/compare/7.12.1...7.12.2
v7.12.1
What's Changed
-
[@mantine/dates]
DateInput: Fix default date being set to the current date whenminDate
is set to the future (#6646) -
[@mantine/core]
ScrollArea: Fix incorrect thumb::before styles -
[@mantine/core]
Fix incorrect active styles of buttons used inside disabled fieldset -
[@mantine/form]
Fixform.watch
callbacks not being fired whenform.initialize
is called (#6639) -
[@mantine/core]
Switch: Fix Switch shrinking when large label or description is used (#6531) -
[@mantine/core]
Combobox: FixCombobox.Search
overflow whenScrollArea
is used in the dropdown (#6562) -
[@mantine/core]
Accordion: Add missingwithProps
function (#6564) -
[@mantine/core]
Pill: Fix remove icon overflowing pill container if its background color was changed with Styles API (#6565) -
[@mantine/core]
PinInput: Allow passing props to individual input elements depending on index withgetInputProps
(#6588) -
[@mantine/charts]
: Fix LineChart Legend and Tooltip to support nested names (#6536) -
[@mantine/core]
Tooltip: Add missingTooltip.Group.extend
function (#6576) -
[@mantine/spotlight]
Fixlimit
prop not working correctly with actions groups (#6632) -
[@mantine/core]
Badge: Fix text overflow not being handled correctly (#6629) -
[@mantine/core]
SegmentedControl: Adddata-disabled
attribute to the root element to simplify styling with Styles API (#6625) -
[@mantine/core]
SegmentedControl: Fix initial position of indicator being broken when the component is used inside other element that has transitions on mount (#6622) -
[@mantine/core]
TagsInput: FixonKeyDown
prop not working (#6569) -
[@mantine/charts]
PieChart: FixvalueFormatter
not working on outside labels (#6616) -
[@mantine/core]
Popover: Fixapply
function ofsize
middleware not being handled correctly (#6598) -
[@mantine/core]
Chip: Fix incorrect checked padding forsize="xl"
(#6586) -
[@mantine/dates]
TimeInput: Fix incorrect focus styles of am/pm input (#6579) -
[@mantine/hook]
use-os: Fix incorrect iPadOS detection (#6535) -
[@mantine/core]
DatePickerInput: Fix incorrectaria-label
being set on the input element (#6530) -
[@mantine/core]
Menu: Fix incorrect Escape key handling inside Modal (#6580)
New Contributors
- @vorant94 made their first contribution in https://github.com/mantinedev/mantine/pull/6530
- @hajimism made their first contribution in https://github.com/mantinedev/mantine/pull/6539
- @ziimakc made their first contribution in https://github.com/mantinedev/mantine/pull/6561
- @th3fallen made their first contribution in https://github.com/mantinedev/mantine/pull/6579
- @david-szabo97 made their first contribution in https://github.com/mantinedev/mantine/pull/6586
- @bastiankistner made their first contribution in https://github.com/mantinedev/mantine/pull/6607
- @inx-fldu made their first contribution in https://github.com/mantinedev/mantine/pull/6569
- @michaelperros made their first contribution in https://github.com/mantinedev/mantine/pull/6622
- @risen228 made their first contribution in https://github.com/mantinedev/mantine/pull/6625
- @ddoemonn made their first contribution in https://github.com/mantinedev/mantine/pull/6629
- @yorkeJohn made their first contribution in https://github.com/mantinedev/mantine/pull/6632
- @raulfpl made their first contribution in https://github.com/mantinedev/mantine/pull/6639
- @uriFrischman made their first contribution in https://github.com/mantinedev/mantine/pull/6645
Full Changelog: https://github.com/mantinedev/mantine/compare/7.12.0...7.12.1
v7.12.0
: 🌟
View changelog with demos on mantine.dev website
Notifications at any position
It is now possible to display notifications at any position on the screen with @mantine/notifications package:
import { Button } from '@​mantine/core';
import { notifications } from '@​mantine/notifications';
const positions = [
'top-left',
'top-right',
'bottom-left',
'bottom-right',
'top-center',
'bottom-center',
] as const;
function Demo() {
const buttons = positions.map((position) => (
<Button
key={position}
onClick={() =>
notifications.show({
title: `Notification at ${position}`,
message: `Notification at ${position} message`,
position,
})
}
>
{position}
</Button>
));
return <Group>{buttons}</Group>;
}
Subscribe to notifications state
You can now subscribe to notifications state changes with useNotifications
hook:
function Demo() {
const [counter, { increment }] = useCounter();
const notificationsStore = useNotifications();
const showNotification = () => {
notifications.show({
title: `Notification ${counter}`,
message: 'Most notifications are added to queue',
});
increment();
};
return (
<>
<Button onClick={showNotification} mb="md">
Show notification
</Button>
<Text>Notifications state</Text>
<Code block>{JSON.stringify(notificationsStore.notifications, null, 2)}</Code>
<Text mt="md">Notifications queue</Text>
<Code block>{JSON.stringify(notificationsStore.queue, null, 2)}</Code>
</>
);
}
SemiCircleProgress component
New SemiCircleProgress component:
import { SemiCircleProgress } from '@​mantine/core';
function Demo() {
return (
<SemiCircleProgress
fillDirection="left-to-right"
orientation="up"
filledSegmentColor="blue"
size={200}
thickness={12}
value={40}
label="Label"
/>
);
}
Tree checked state
Tree component now supports checked state:
import { IconChevronDown } from '@​tabler/icons-react';
import { Checkbox, Group, RenderTreeNodePayload, Tree } from '@​mantine/core';
import { data } from './data';
const renderTreeNode = ({
node,
expanded,
hasChildren,
elementProps,
tree,
}: RenderTreeNodePayload) => {
const checked = tree.isNodeChecked(node.value);
const indeterminate = tree.isNodeIndeterminate(node.value);
return (
<Group gap="xs" {...elementProps}>
<Checkbox.Indicator
checked={checked}
indeterminate={indeterminate}
onClick={() => (!checked ? tree.checkNode(node.value) : tree.uncheckNode(node.value))}
/>
<Group gap={5} onClick={() => tree.toggleExpanded(node.value)}>
<span>{node.label}</span>
{hasChildren && (
<IconChevronDown
size={14}
style={{ transform: expanded ? 'rotate(180deg)' : 'rotate(0deg)' }}
/>
)}
</Group>
</Group>
);
};
function Demo() {
return <Tree data={data} levelOffset={23} expandOnClick={false} renderNode={renderTreeNode} />;
}
Disable specific features in postcss-preset-mantine
You can now disable specific features of the postcss-preset-mantine
by setting them to false
in the configuration object. This feature is available starting from
postcss-preset-mantine@1.17.0
.
module.exports = {
'postcss-preset-mantine': {
features: {
// Turn off `light-dark` function
lightDarkFunction: false,
// Turn off `postcss-nested` plugin
nested: false,
// Turn off `lighten`, `darken` and `alpha` functions
colorMixAlpha: false,
// Turn off `rem` and `em` functions
remEmFunctions: false,
// Turn off `postcss-mixins` plugin
mixins: false,
},
},
};
Help Center updates
-
Server components guide has been updated to include
Component.extend
usage in server components. -
A guide on applying input focus styles has been updated to work correctly with PasswordInput and other components in which the
input
selector is not used for actual input element. - The guide on how to disable all inputs in the form now includes additional instructions for use-form.
- New Can I have color schemes other than light and dark? guide explains the difference between color scheme and theme and why Mantine does not support custom color schemes.
- New Why VSCode cannot autoimport Text component? guide explains why VSCode cannot automatically import
Text
component. - New Are Mantine components accessible? question
- New How can I focus the first input with error with use-form? question
- New How to scroll to the top of the form if the form is submitted with errors? question
- New Why my notifications are displayed at a wrong position? question
- New Why my screen is completely empty after I've added notifications package? question
- New Why can I not use value/label data structure with Autocomplete/TagsInput? question
- New Why FileButton does not work in Menu? question
- New How can I display different elements in light and dark color schemes? question
Other changes
-
use-interval hook now supports
autoInvoke
option to start the interval automatically when the component mounts. -
use-form with
mode="uncontrolled"
now triggers additional rerender when dirty state changes to allow subscribing to form state changes. -
ScrollArea component now supports
onTopReached
andonBottomReached
props. The functions are called when the user scrolls to the top or bottom of the scroll area. -
Accordion.Panel component now supports
onTransitionEnd
prop that is called when the panel animation completes.
v7.11.2
What's Changed
-
[@mantine/core]
Combobox: Fix inconsistent horizontal dropdown padding -
[@mantine/core]
Drawer: Fix content overflowing horizontally on mobile whenoffset
is set -
[@mantine/core]
Drawer: Fix double scrollbar appearing whenoffset
andscrollAreaComponent
props are set -
[@mantine/carousel]
Fix responsiveslideSize
values working differently from other style props -
[@mantine/hooks]
use-interval: AddautoInvoke
option support -
[@mantine/hooks]
use-interval: Fix updates to the function and interval timeout being ignored -
[@mantine/core]
Anchor: FixlineClamp
prop not working -
[@mantine/core]
Anchor: Fix text-decoration styles being inconsistent withvariant="gradient"
-
[@mantine/dates]
DateInput: Fix value flickering with custom timezone (#6517) -
[@mantine/core]
Burger: FixlineSize
being passed to the DOM node (#6520) -
[@mantine/charts]
Add support for nested properties indataKey
(#5886) -
[@mantine/core]
Fix Modal/Drawer headers overlaying custom scrollbar (#6175) -
[@mantine/charts]
Sparkline: Fix incorrectdata
prop type (#6352) -
[@mantine/charts]
FixstrokeColor
prop being passed to the DOM element (#6507) -
[@mantine/core]
FocusTrap: Improve compatibility with React 19 (#6492) -
[@mantine/hooks]
use-os: Fix iOS being reported as MacOS in several cases (#6511) -
[@mantine/emotion]
Fix incorrect types ofcreateStyles
classes (#6490) -
[@mantine/core]
Tooltip: FixfloatingStrategy="fixed"
not working (#6502)
New Contributors
- @lwkchan made their first contribution in https://github.com/mantinedev/mantine/pull/6502
- @Sergio16T made their first contribution in https://github.com/mantinedev/mantine/pull/6517
Full Changelog: https://github.com/mantinedev/mantine/compare/7.11.1...7.11.2
v7.11.1
What's Changed
-
[@mantine/core]
Add option to displaynothingFoundMessage
when data is empty in Select and MultiSelect components (#6477) -
[@mantine/core]
Tooltip: AdddefaultOpened
prop support (#6466) -
[@mantine/core]
PinInput: Fix incorrect rtl logic (#6382) -
[@mantine/core]
Popover: FixfloatingStrategy="fixed"
not havingposition:fixed
styles (#6419) -
[@mantine/spotlight]
Fix spotlight not working correctly with shadow DOM (#6400) -
[@mantine/form]
FixonValuesChange
using stale values (#6392) -
[@mantine/carousel]
FixonSlideChange
using stale props values (#6393) -
[@mantine/charts]
Fix unexpected padding on the right side of the chart in BarChart, AreaChart and LineChart components (#6467) -
[@mantine/core]
Select: FixonChange
being called with the already selected if it has been picked from the dropdown (#6468) -
[@mantine/dates]
DatePickerInput: FixhighlightToday
not working (#6471) -
[@mantine/core]
NumberInput: Fix incorrect handling of numbers larger than max safe integer on blur (#6407) -
[@mantine/core]
Tooltip: Fix tooltip arrow being incompatible with headless mode (#6458) -
[@mantine/core]
ActionIcon: Fix loading styles inconsistency with Button component (#6460) -
[@mantine/charts]
PieChart: Fix key error for duplicatedname
data (#6067) -
[@mantine/core]
Modal: FixremoveScrollProps.ref
not being compatible with React 19 (#6446) -
[@mantine/core]
TagsInput: FixselectFirstOptionOnChange
prop not working (#6337) -
[@mantine/hooks]
use-eye-dropper: Fix Opera being incorrectly detected as a supported browser (#6307) -
[@mantine/core]
Fix:host
selector now working correctly incssVariablesSelector
of MantineProvider (#6404) -
[@mantine/core]
TagsInput: FixonChange
being called twice when Enter key is pressed in some cases (#6416) -
[@mantine/modals]
Fix Modal overrides type augmentation not working with TypeScript 5.5 (#6443) -
[@mantine/core]
Tree: FixlevelOffset
prop being added to the root DOM element (#6461)
New Contributors
- @bsl-zcs made their first contribution in https://github.com/mantinedev/mantine/pull/6461
- @florisdg made their first contribution in https://github.com/mantinedev/mantine/pull/6443
- @snlacks made their first contribution in https://github.com/mantinedev/mantine/pull/6425
- @lid0a made their first contribution in https://github.com/mantinedev/mantine/pull/6415
- @Knamer95 made their first contribution in https://github.com/mantinedev/mantine/pull/6416
- @yyytae0 made their first contribution in https://github.com/mantinedev/mantine/pull/6404
- @toanxyz made their first contribution in https://github.com/mantinedev/mantine/pull/6388
- @viktorkasap made their first contribution in https://github.com/mantinedev/mantine/pull/6307
- @alexlapp made their first contribution in https://github.com/mantinedev/mantine/pull/6337
- @brycefranzen made their first contribution in https://github.com/mantinedev/mantine/pull/6446
- @marcobiedermann made their first contribution in https://github.com/mantinedev/mantine/pull/6442
- @mullwar made their first contribution in https://github.com/mantinedev/mantine/pull/6067
- @gruschis made their first contribution in https://github.com/mantinedev/mantine/pull/6400
- @jpranays made their first contribution in https://github.com/mantinedev/mantine/pull/6466
Full Changelog: https://github.com/mantinedev/mantine/compare/7.11.0...7.11.1
v7.11.0
: 👁️
View changelog with demos on mantine.dev website
withProps function
All Mantine components now have withProps
static function that can be used to
add default props to the component:
import { IMaskInput } from 'react-imask';
import { Button, InputBase } from '@​mantine/core';
const LinkButton = Button.withProps({
component: 'a',
target: '_blank',
rel: 'noreferrer',
variant: 'subtle',
});
const PhoneInput = InputBase.withProps({
mask: '+7 (000) 000-0000',
component: IMaskInput,
label: 'Your phone number',
placeholder: 'Your phone number',
});
function Demo() {
return (
<>
{/* You can pass additional props to components created with `withProps` */}
<LinkButton href="https://mantine.dev">Mantine website</LinkButton>
{/* Component props override default props defined in `withProps` */}
<PhoneInput placeholder="Personal phone" />
</>
);
}
Avatar initials
Avatar component now supports displaying initials with auto generated color based on the given name
value.
To display initials instead of the default placeholder, set name
prop
to the name of the person, for example, name="John Doe"
. If the name
is set, you can use color="initials"
to generate color based on the name:
import { Avatar, Group } from '@​mantine/core';
const names = [
'John Doe',
'Jane Mol',
'Alex Lump',
'Sarah Condor',
'Mike Johnson',
'Kate Kok',
'Tom Smith',
];
function Demo() {
const avatars = names.map((name) => <Avatar key={name} name={name} color="initials" />);
return <Group>{avatars}</Group>;
}
BubbleChart component
New BubbleChart component:
import { BubbleChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BubbleChart
h={60}
data={data}
range={[16, 225]}
label="Sales/hour"
color="lime.6"
dataKey={{ x: 'hour', y: 'index', z: 'value' }}
/>
);
}
BarChart waterfall type
BarChart component now supports waterfall
type
which is useful for visualizing changes in values over time:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="item"
type="waterfall"
series={[{ name: 'Effective tax rate in %', color: 'blue' }]}
withLegend
/>
);
}
LineChart gradient type
LineChart component now supports gradient
type
which renders line chart with gradient fill:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
series={[{ name: 'temperature', label: 'Avg. Temperature' }]}
dataKey="date"
type="gradient"
gradientStops={[
{ offset: 0, color: 'red.6' },
{ offset: 20, color: 'orange.6' },
{ offset: 40, color: 'yellow.5' },
{ offset: 70, color: 'lime.5' },
{ offset: 80, color: 'cyan.5' },
{ offset: 100, color: 'blue.5' },
]}
strokeWidth={5}
curveType="natural"
yAxisProps={{ domain: [-25, 40] }}
valueFormatter={(value) => `${value}°C`}
/>
);
}
Right Y axis
LineChart, BarChart and AreaChart components
now support rightYAxis
prop which renders additional Y axis on the right side of the chart:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
dataKey="name"
withRightYAxis
yAxisLabel="uv"
rightYAxisLabel="pv"
series={[
{ name: 'uv', color: 'pink.6' },
{ name: 'pv', color: 'cyan.6', yAxisId: 'right' },
]}
/>
);
}
RadarChart legend
RadarChart component now supports legend:
import { RadarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<RadarChart
h={300}
data={data}
dataKey="product"
withPolarRadiusAxis
withLegend
series={[
{ name: 'Sales January', color: 'blue.6', opacity: 0.2 },
{ name: 'Sales February', color: 'orange.6', opacity: 0.2 },
]}
/>
);
}
TagsInput acceptValueOnBlur
TagsInput component behavior has been changed. Now By default,
if the user types in a value and blurs the input, the value is added to the list.
You can change this behavior by setting acceptValueOnBlur
to false
. In this case, the value is added
only when the user presses Enter
or clicks on a suggestion.
import { TagsInput } from '@​mantine/core';
function Demo() {
return (
<>
<TagsInput
label="Value IS accepted on blur"
placeholder="Enter text, then blur the field"
data={['React', 'Angular', 'Svelte']}
acceptValueOnBlur
/>
<TagsInput
label="Value IS NOT accepted on blur"
placeholder="Enter text, then blur the field"
data={['React', 'Angular', 'Svelte']}
acceptValueOnBlur={false}
mt="md"
/>
</>
);
}
Transition delay
Transition component now supports enterDelay
and exitDelay
props to delay transition start:
import { useState } from 'react';
import { Button, Flex, Paper, Transition } from '@​mantine/core';
export function Demo() {
const [opened, setOpened] = useState(false);
return (
<Flex maw={200} pos="relative" justify="center" m="auto">
<Button onClick={() => setOpened(true)}>Open dropdown</Button>
<Transition mounted={opened} transition="pop" enterDelay={500} exitDelay={300}>
{(transitionStyle) => (
<Paper
shadow="md"
p="xl"
h={120}
pos="absolute"
inset={0}
bottom="auto"
onClick={() => setOpened(false)}
style={{ ...transitionStyle, zIndex: 1 }}
>
Click to close
</Paper>
)}
</Transition>
</Flex>
);
}
Documentation updates
- New segmented progress example has been added to
Progress
component documentation - Select, TagsInput and MultiSelect components documentation now includes additional demo on how to change the dropdown width
- New DatePicker example for
excludeDate
prop
Other changes
-
Pagination component now supports
hideWithOnePage
prop which hides pagination when there is only one page -
Spoiler component now supports controlled expanded state with
expanded
andonExpandedChange
props -
Burger component now supports
lineSize
prop to change lines height -
Calendar, DatePicker and other similar components now support
highlightToday
prop to highlight today's date
v7.10.2
What's Changed
-
[@mantine/core]
Select: Fix incorrect state changes handling when bothvalue
andsearchValue
are controlled (#6272) -
[@mantine/core]
Stepper: FixautoContrast
prop being added to the DOM element -
[@mantine/charts]
PieChart: Fix inner label not using formatted value (#6328) -
[@mantine/core]
Fix incorrect color resolving logic in border style prop resolver (#6326) -
[@mantine/modals]
Fix incorrect styles of the confirmation modal when it is used without any description (#6325) -
[@mantine/core]
ScrollArea: Fix click events being triggered when scrollbar drag is released over an interactive element in Firefox (#6354) -
[@mantine/core]
Combobox: Fix clicks on footer and header triggering dropdown close (#6344) -
[@mantine/core]
PasswordInput: FixwithErrorStyles
prop being passed to the DOM element (#6348)
New Contributors
- @stefanzmf made their first contribution in https://github.com/mantinedev/mantine/pull/6344
- @Prasiddha22 made their first contribution in https://github.com/mantinedev/mantine/pull/6325
- @ShionTerunaga made their first contribution in https://github.com/mantinedev/mantine/pull/6332
- @djdduty made their first contribution in https://github.com/mantinedev/mantine/pull/6326
- @Jones-Griffin made their first contribution in https://github.com/mantinedev/mantine/pull/6328
- @floriankapaun made their first contribution in https://github.com/mantinedev/mantine/pull/6272
Full Changelog: https://github.com/mantinedev/mantine/compare/7.10.1...7.10.2
v7.10.1
What's Changed
-
[@mantine/charts]
BarChart: Add waterfall type (#6231) -
[@mantine/form]
Fixform.setFieldError
called insideform.onSubmit
not working correctly in some cases (#6101) -
[@mantine/core]
SegmentedControl: Fix false error reported by React 18.3+ for incorrect key prop usage -
[@mantine/hooks]
use-fetch: Fix incorrect error handling (#6278) -
[@mantine/core]
Fixbd
style prop not being applied in some components (#6282) -
[@mantine/core]
NumberInput: Fix incorrect leading zeros handling (#6232) -
[@mantine/core]
NumberInput: Fix incorrect logic while editing decimal values (#6232) -
[@mantine/core]
ScrollArea: Fix scrollbar flickering on reveal with hover and scroll types (#6218) -
[@mantine/hooks]
Update use-throttled-* hooks to emit updates on trailing edges (#6257) -
[@mantine/core]
Input: AddinputSize
prop to setsize
html attribute on the input element
New Contributors
- @a-kon made their first contribution in https://github.com/mantinedev/mantine/pull/6265
- @dfaust made their first contribution in https://github.com/mantinedev/mantine/pull/6257
- @ElTupac made their first contribution in https://github.com/mantinedev/mantine/pull/6278
Full Changelog: https://github.com/mantinedev/mantine/compare/7.10.0...7.10.1
v7.10.0
: 😎
View changelog with demos on mantine.dev website
Tree component
New Tree component:
import { IconFolder, IconFolderOpen } from '@​tabler/icons-react';
import { Group, RenderTreeNodePayload, Tree } from '@​mantine/core';
import { CssIcon, NpmIcon, TypeScriptCircleIcon } from '@​mantinex/dev-icons';
import { data, dataCode } from './data';
import classes from './Demo.module.css';
interface FileIconProps {
name: string;
isFolder: boolean;
expanded: boolean;
}
function FileIcon({ name, isFolder, expanded }: FileIconProps) {
if (name.endsWith('package.json')) {
return <NpmIcon size={14} />;
}
if (name.endsWith('.ts') || name.endsWith('.tsx') || name.endsWith('tsconfig.json')) {
return <TypeScriptCircleIcon size={14} />;
}
if (name.endsWith('.css')) {
return <CssIcon size={14} />;
}
if (isFolder) {
return expanded ? (
<IconFolderOpen color="var(--mantine-color-yellow-9)" size={14} stroke={2.5} />
) : (
<IconFolder color="var(--mantine-color-yellow-9)" size={14} stroke={2.5} />
);
}
return null;
}
function Leaf({ node, expanded, hasChildren, elementProps }: RenderTreeNodePayload) {
return (
<Group gap={5} {...elementProps}>
<FileIcon name={node.value} isFolder={hasChildren} expanded={expanded} />
<span>{node.label}</span>
</Group>
);
}
function Demo() {
return (
<Tree
classNames={classes}
selectOnClick
clearSelectionOnOutsideClick
data={data}
renderNode={(payload) => <Leaf {...payload} />}
/>
);
}
form.getInputNode
New form.getInputNode(path)
handler returns input DOM node for the given field path.
Form example, it can be used to focus input on form submit if there is an error:
import { Button, Group, TextInput } from '@​mantine/core';
import { isEmail, isNotEmpty, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
name: '',
email: '',
},
validate: {
name: isNotEmpty('Name is required'),
email: isEmail('Invalid email'),
},
});
return (
<form
onSubmit={form.onSubmit(
(values) => console.log(values),
(errors) => {
const firstErrorPath = Object.keys(errors)[0];
form.getInputNode(firstErrorPath)?.focus();
}
)}
>
<TextInput
withAsterisk
label="Your name"
placeholder="Your name"
key={form.key('name')}
{...form.getInputProps('name')}
/>
<TextInput
withAsterisk
label="Your email"
placeholder="your@email.com"
key={form.key('email')}
{...form.getInputProps('email')}
/>
<Group justify="flex-end" mt="md">
<Button type="submit">Submit</Button>
</Group>
</form>
);
}
Container queries in SimpleGrid
You can now use container queries in SimpleGrid component. With container queries, grid columns and spacing will be adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { SimpleGrid } from '@​mantine/core';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// it is not required in real projects
<div style={{ resize: 'horizontal', overflow: 'hidden', maxWidth: '100%' }}>
<SimpleGrid
type="container"
cols={{ base: 1, '300px': 2, '500px': 5 }}
spacing={{ base: 10, '300px': 'xl' }}
>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</SimpleGrid>
</div>
);
}
Checkbox and Radio indicators
New Checkbox.Indicator and Radio.Indicator
components look exactly the same as Checkbox
and Radio
components, but they do not
have any semantic meaning, they are just visual representations of checkbox and radio states.
Checkbox.Indicator
component:
import { Checkbox, Group } from '@​mantine/core';
function Demo() {
return (
<Group>
<Checkbox.Indicator />
<Checkbox.Indicator checked />
<Checkbox.Indicator indeterminate />
<Checkbox.Indicator disabled />
<Checkbox.Indicator disabled checked />
<Checkbox.Indicator disabled indeterminate />
</Group>
);
}
Radio.Indicator
component:
import { Group, Radio } from '@​mantine/core';
function Demo() {
return (
<Group>
<Radio.Indicator />
<Radio.Indicator checked />
<Radio.Indicator disabled />
<Radio.Indicator disabled checked />
</Group>
);
}
Checkbox and Radio cards
New Checkbox.Card and Radio.Card
components can be used as replacements for Checkbox
and Radio
to build custom cards/buttons/etc.
that work as checkboxes and radios. Components are accessible by default and support the same
keyboard interactions as input[type="checkbox"]
and input[type="radio"]
.
Checkbox.Card
component:
import { useState } from 'react';
import { Checkbox, Group, Text } from '@​mantine/core';
import classes from './Demo.module.css';
function Demo() {
const [checked, setChecked] = useState(false);
return (
<Checkbox.Card
className={classes.root}
radius="md"
checked={checked}
onClick={() => setChecked((c) => !c)}
>
<Group wrap="nowrap" align="flex-start">
<Checkbox.Indicator />
<div>
<Text className={classes.label}>@​mantine/core</Text>
<Text className={classes.description}>
Core components library: inputs, buttons, overlays, etc.
</Text>
</div>
</Group>
</Checkbox.Card>
);
}
Checkbox.Card
component with Checkbox.Group
:
import { useState } from 'react';
import { Checkbox, Group, Stack, Text } from '@​mantine/core';
import classes from './Demo.module.css';
const data = [
{
name: '@​mantine/core',
description: 'Core components library: inputs, buttons, overlays, etc.',
},
{ name: '@​mantine/hooks', description: 'Collection of reusable hooks for React applications.' },
{ name: '@​mantine/notifications', description: 'Notifications system' },
];
function Demo() {
const [value, setValue] = useState<string[]>([]);
const cards = data.map((item) => (
<Checkbox.Card className={classes.root} radius="md" value={item.name} key={item.name}>
<Group wrap="nowrap" align="flex-start">
<Checkbox.Indicator />
<div>
<Text className={classes.label}>{item.name}</Text>
<Text className={classes.description}>{item.description}</Text>
</div>
</Group>
</Checkbox.Card>
));
return (
<>
<Checkbox.Group
value={value}
onChange={setValue}
label="Pick packages to install"
description="Choose all packages that you will need in your application"
>
<Stack pt="md" gap="xs">
{cards}
</Stack>
</Checkbox.Group>
<Text fz="xs" mt="md">
CurrentValue: {value.join(', ') || '–'}
</Text>
</>
);
}
Radio.Card
component:
import { useState } from 'react';
import { Group, Radio, Text } from '@​mantine/core';
import classes from './Demo.module.css';
function Demo() {
const [checked, setChecked] = useState(false);
return (
<Radio.Card
className={classes.root}
radius="md"
checked={checked}
onClick={() => setChecked((c) => !c)}
>
<Group wrap="nowrap" align="flex-start">
<Radio.Indicator />
<div>
<Text className={classes.label}>@​mantine/core</Text>
<Text className={classes.description}>
Core components library: inputs, buttons, overlays, etc.
</Text>
</div>
</Group>
</Radio.Card>
);
}
Radio.Card
component with Radio.Group
:
import { useState } from 'react';
import { Group, Radio, Stack, Text } from '@​mantine/core';
import classes from './Demo.module.css';
const data = [
{
name: '@​mantine/core',
description: 'Core components library: inputs, buttons, overlays, etc.',
},
{ name: '@​mantine/hooks', description: 'Collection of reusable hooks for React applications.' },
{ name: '@​mantine/notifications', description: 'Notifications system' },
];
function Demo() {
const [value, setValue] = useState<string | null>(null);
const cards = data.map((item) => (
<Radio.Card className={classes.root} radius="md" value={item.name} key={item.name}>
<Group wrap="nowrap" align="flex-start">
<Radio.Indicator />
<div>
<Text className={classes.label}>{item.name}</Text>
<Text className={classes.description}>{item.description}</Text>
</div>
</Group>
</Radio.Card>
));
return (
<>
<Radio.Group
value={value}
onChange={setValue}
label="Pick one package to install"
description="Choose a package that you will need in your application"
>
<Stack pt="md" gap="xs">
{cards}
</Stack>
</Radio.Group>
<Text fz="xs" mt="md">
CurrentValue: {value || '–'}
</Text>
</>
);
}
bd style prop
New bd style prop can be used to set border
CSS property.
It is available in all components that support style props.
Border width value is automatically converted to rem. For border color you can reference theme colors similar to other style props:
import { Box } from '@​mantine/core';
function Demo() {
return <Box bd="1px solid red.5" />;
}
v7.9.2
What's Changed
-
[@mantine/dates]
DateTimePicker: Fix some oftimeInputProps
not being respected (#6204) -
[@mantine/core]
NavLink: Add react-router support to display active route (#6180) -
[@mantine/core]
Fixnonce
attribute not being set on<style />
tag generated in color scheme switching script -
[@mantine/core]
Input: Fix incorrect margins when input wrapper order is explicitly set -
[@mantine/core]
Pagination: Fix types definition being incompatible with @tabler/icons-react 3.x -
[@mantine/charts]
Fix incorrect tooltip position in LineChart, AreaChart and BarChart with vertical orientation -
[@mantine/core]
Rating: FixreadOnly
prop now working on touch devices (#6202) -
[@mantine/core]
TagsInput: Fix existing search value being ignored inonPaste
even handler (#6073) -
[@mantine/core]
TagsInput: Improveclearable
prop logic related to dropdown (#6115)
New Contributors
- @corydeppen made their first contribution in https://github.com/mantinedev/mantine/pull/6180
- @rodda-kyusu made their first contribution in https://github.com/mantinedev/mantine/pull/6204
- @iguit0 made their first contribution in https://github.com/mantinedev/mantine/pull/6233
- @Shadowfita made their first contribution in https://github.com/mantinedev/mantine/pull/6238
Full Changelog: https://github.com/mantinedev/mantine/compare/7.9.1...7.9.2
v7.9.1
What's Changed
-
[@mantine/core]
Fixtheme.scale
being ignored in Input, Paper and Table border styles -
[@mantine/core]
FixvirtualColor
function requringuse client
in Next.js -
[@mantine/core]
FloatingIndicator: Fix incorrect resize observer logic (#6129) -
[@mantine/core]
NumberInput: Fix incorrectallowNegative
handling with up/down arrows (#6170) -
[@mantine/core]
Fixerror={true}
prop set on Checkbox, Radio and Switch rendering unxpected error element with margin -
[@mantine/core]
SegmentedControl: Fixtheme.primaryColor
not being respected in the focus ring styles -
[@mantine/core]
CloseButton: Fix incorrect specificity of some selectors -
[@mantine/core]
Fix incorrectaria-label
handling in Select, Autocomplete, MultiSelect and TagsInputs components (#6123) -
[@mantine/core]
Modal: PreventonClose
from being called when modal is not opened (#6156) -
[@mantine/core]
PasswordInput: Fix duplicated password visibility icon in Edge browser (#6126) -
[@mantine/hooks]
use-hash: Fix hash value not being updated correctly (#6145) -
[@mantine/emotion]
Fix incorrect transform logic that was causing extra hooks to render (#6159)
New Contributors
- @lachtanek made their first contribution in https://github.com/mantinedev/mantine/pull/6145
- @hsskey made their first contribution in https://github.com/mantinedev/mantine/pull/6156
- @ataldev made their first contribution in https://github.com/mantinedev/mantine/pull/6198
- @OliverWales made their first contribution in https://github.com/mantinedev/mantine/pull/6188
- @AustinWildgrube made their first contribution in https://github.com/mantinedev/mantine/pull/6170
- @theca11 made their first contribution in https://github.com/mantinedev/mantine/pull/6178
Full Changelog: https://github.com/mantinedev/mantine/compare/7.9.0...7.9.1
v7.9.0
: ✨
View changelog with demos on mantine.dev website
@mantine/emotion package
New @mantine/emotion package is now available to simplify migration
from 6.x to 7.x. It includes createStyles
function and additional
functionality for sx
and styles
props for all components similar to what was available
in @mantine/core
package in v6.
If you still haven't migrated to 7.x because of the change in styling approach, you can now
have a smoother transition by using @mantine/emotion
package. To learn more about the package,
visit the documentation page and updated 6.x to 7.x migration guide.
import { rem } from '@​mantine/core';
import { createStyles } from '@​mantine/emotion';
const useStyles = createStyles((theme, _, u) => ({
wrapper: {
maxWidth: rem(400),
width: '100%',
height: rem(180),
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
marginLeft: 'auto',
marginRight: 'auto',
borderRadius: theme.radius.sm,
// Use light and dark selectors to change styles based on color scheme
[u.light]: {
backgroundColor: theme.colors.gray[1],
},
[u.dark]: {
backgroundColor: theme.colors.dark[5],
},
// Reference theme.breakpoints in smallerThan and largerThan functions
[u.smallerThan('sm')]: {
// Child reference in nested selectors via ref
[`& .${u.ref('child')}`]: {
fontSize: theme.fontSizes.xs,
},
},
},
child: {
// Assign selector to a ref to reference it in other styles
ref: u.ref('child'),
padding: theme.spacing.md,
borderRadius: theme.radius.sm,
boxShadow: theme.shadows.md,
[u.light]: {
backgroundColor: theme.white,
color: theme.black,
},
[u.dark]: {
backgroundColor: theme.colors.dark[8],
color: theme.white,
},
},
}));
function Demo() {
const { classes } = useStyles();
return (
<div className={classes.wrapper}>
<div className={classes.child}>createStyles demo</div>
</div>
);
}
React 18.3 support
All @mantine/*
components and hooks have been updated to support React 18.3. It is
recommended to update your application as well to prepare for the upcoming React 19 release.
use-field hook
New use-field hook is now available in @mantine/form
package.
It can be used as a simpler alternative to use-form hook to manage state of a single input without the need to create a form.
The hook supports most of use-form
hook features: validation with function, touched and
dirty state, error message, validation on change/blur and more.
import { TextInput } from '@​mantine/core';
import { isEmail, useField } from '@​mantine/form';
function Demo() {
const field = useField({
initialValue: '',
validateOnChange: true,
validate: isEmail('Invalid email'),
});
return <TextInput {...field.getInputProps()} label="Email" placeholder="Enter your email" />;
}
use-field
hook also supports async validation:
import { Button, Loader, TextInput } from '@​mantine/core';
import { useField } from '@​mantine/form';
function validateAsync(value: string): Promise<string | null> {
return new Promise((resolve) => {
window.setTimeout(() => {
resolve(value === 'mantine' ? null : 'Value must be "mantine"');
}, 800);
});
}
function Demo() {
const field = useField({
initialValue: '',
validate: validateAsync,
});
return (
<>
<TextInput
{...field.getInputProps()}
label="Enter 'mantine'"
placeholder="Enter 'mantine'"
rightSection={field.isValidating ? <Loader size={18} /> : null}
mb="md"
/>
<Button onClick={field.validate}>Validate async</Button>
</>
);
}
Custom PostCSS mixins
You can now define custom mixins that are not included in mantine-postcss-preset by specifying them
in the mixins
option. To learn about mixins syntax, follow postcss-mixins documentation.
Note that this feature is available in postcss-preset-mantine
starting from version 1.15.0.
Example of adding clearfix
and circle
mixins:
module.exports = {
plugins: {
'postcss-preset-mantine': {
autoRem: true,
mixins: {
clearfix: {
'&::after': {
content: '""',
display: 'table',
clear: 'both',
},
},
circle: (_mixin, size) => ({
borderRadius: '50%',
width: size,
height: size,
}),
},
},
// ... Other plugins
},
};
Then you can use these mixins in your styles:
.demo {
@​mixin clearfix;
@​mixin circle 100px;
}
use-matches hook
New use-matches
hook exported from @mantine/core
is an alternative to use-media-query
if you need to match multiple media queries and values. It accepts an object with media queries as keys and
values at given breakpoint as values.
Note that use-matches
hook uses the same logic as use-media-query under the hood,
it is not recommended to be used as a primary source of responsive styles, especially if you have ssr in your application.
In the following example:
- Starting from
theme.breakpoints.lg
, color will bered.9
- Between
theme.breakpoints.sm
andtheme.breakpoints.lg
, color will beorange.9
- Below
theme.breakpoints.sm
, color will beblue.9
import { Box, useMatches } from '@​mantine/core';
function Demo() {
const color = useMatches({
base: 'blue.9',
sm: 'orange.9',
lg: 'red.9',
});
return (
<Box bg={color} c="white" p="xl">
Box with color that changes based on screen size
</Box>
);
}
BarChart value label
BarChart now supports withBarValueLabel
prop that allows
displaying value label on top of each bar:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
valueFormatter={(value) => new Intl.NumberFormat('en-US').format(value)}
withBarValueLabel
series={[
{ name: 'Smartphones', color: 'violet.6' },
{ name: 'Laptops', color: 'blue.6' },
{ name: 'Tablets', color: 'teal.6' },
]}
/>
);
}
Documentation updates
- New usage with emotion guide
- 6.x -> 7.x guide has been updated to include migration to @mantine/emotion package
- use-field hook documentation
-
Uncontrolled form mode examples now include usage of
form.key()
function - Custom PostCSS mixins documentation
- use-matches hook documentation has been added to the responsive guide
Other changes
- Advanced templates now include GitHub workflows to run tests on CI
- AspectRatio component has been migrated to aspect-ratio CSS property
v7.8.1
Notes
Note that if you've already started using uncontrolled form mode introduced in 7.8.0, you need to include form.key()
as described in the documentation.
What's Changed
-
[@mantine/form]
AdddefaultValue
toform.getInputProps
return type -
[@mantine/form]
Replacekey
spread withform.getInputProps
withform.key()
function -
[@mantine/dropzone]
Fix keyboard activation not working (#6095) -
[@mantine/dates]
DatePicker: Fix date range being stuck in incorrect state when controlled state changes to an empty value (#6092) -
[@mantine/core]
Radio: Allownull
to be passed to Radio.Group value to clear the value (#6102) -
[@mantine/core]
NumberInput: Fix incorrect cursor position when backspace is pressed (#6072) -
[@mantine/core]
Fix incorrect empty string handling in style props (#6078)
New Contributors
- @kgarner7 made their first contribution in https://github.com/mantinedev/mantine/pull/6064
Full Changelog: https://github.com/mantinedev/mantine/compare/7.8.0...7.8.1
v7.8.0
View changelog with demos on mantine.dev website
Auto convert px to rem in .css files
Start from version 1.14.4
postcss-preset-mantine
supports autoRem
option that can be used to automatically convert all px
values
to rem
units in .css
files.
module.exports = {
plugins: {
'postcss-preset-mantine': {
autoRem: true,
},
},
};
This option works similar to rem
function. The following code:
.demo {
font-size: 16px;
@​media (min-width: 320px) {
font-size: 32px;
}
}
Will be transformed to:
.demo {
font-size: calc(1rem * var(--mantine-scale));
@​media (min-width: 320px) {
font-size: calc(2rem * var(--mantine-scale));
}
}
Note that autoRem
converts only CSS properties, values in @media
queries are
not converted automatically – you still need to use em
function to convert them.
autoRem
option does not convert values in the following cases:
- Values in
calc()
,var()
,clamp()
andurl()
functions - Values in
content
property - Values that contain
rgb()
,rgba()
,hsl()
,hsla()
colors
If you want to convert above values to rem units, use rem
function manually.
Uncontrolled form mode
useForm hook now supports uncontrolled mode.
Uncontrolled mode provides a significant performance improvement by reducing
the number of re-renders and the amount of state updates almost to 0. Uncontrolled
mode is now the recommended way to use the useForm
hook for almost all use cases.
Example of uncontrolled form (form.values
are not updated):
import { useState } from 'react';
import { Button, Code, Text, TextInput } from '@​mantine/core';
import { hasLength, isEmail, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: '', email: '' },
validate: {
name: hasLength({ min: 3 }, 'Must be at least 3 characters'),
email: isEmail('Invalid email'),
},
});
const [submittedValues, setSubmittedValues] = useState<typeof form.values | null>(null);
return (
<form onSubmit={form.onSubmit(setSubmittedValues)}>
<TextInput {...form.getInputProps('name')} label="Name" placeholder="Name" />
<TextInput {...form.getInputProps('email')} mt="md" label="Email" placeholder="Email" />
<Button type="submit" mt="md">
Submit
</Button>
<Text mt="md">Form values:</Text>
<Code block>{JSON.stringify(form.values, null, 2)}</Code>
<Text mt="md">Submitted values:</Text>
<Code block>{submittedValues ? JSON.stringify(submittedValues, null, 2) : '–'}</Code>
</form>
);
}
form.getValues
With uncontrolled mode, you can not access form.values
as a state variable,
instead, you can use form.getValues()
method to get current form values at any time:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John Doe' },
});
form.getValues(); // { name: 'John Doe' }
form.setValues({ name: 'John Smith' });
form.getValues(); // { name: 'John Smith' }
form.getValues()
always returns the latest form values, it is safe to use it
after state updates:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John Doe' },
});
const handleNameChange = () => {
form.setFieldValue('name', 'Test Name');
// ❌ Do not use form.values to get the current form values
// form.values has stale name value until next rerender in controlled mode
// and is always outdated in uncontrolled mode
console.log(form.values); // { name: 'John Doe' }
// ✅ Use form.getValues to get the current form values
// form.getValues always returns the latest form values
console.log(form.getValues()); // { name: 'Test Name' }
};
form.watch
form.watch
is an effect function that allows subscribing to changes of a
specific form field. It accepts field path and a callback function that is
called with new value, previous value, touched and dirty field states:
import { TextInput } from '@​mantine/core';
import { useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
name: '',
email: '',
},
});
form.watch('name', ({ previousValue, value, touched, dirty }) => {
console.log({ previousValue, value, touched, dirty });
});
return (
<div>
<TextInput label="Name" placeholder="Name" {...form.getInputProps('name')} />
<TextInput mt="md" label="Email" placeholder="Email" {...form.getInputProps('email')} />
</div>
);
}
Customize Popover middlewares
You can now customize middlewares
options in Popover component and
in other components (Menu, Select, Combobox, etc.)
based on Popover.
To customize Floating UI middlewares options, pass them as
an object to the middlewares
prop. For example, to change shift
middleware padding to 20px
use the following configuration:
import { Popover } from '@​mantine/core';
function Demo() {
return (
<Popover middlewares={{ shift: { padding: 20 } }} position="bottom">
{/* Popover content */}
</Popover>
);
}
use-fetch hook
New use-fetch hook:
import { Box, Button, Code, Group, LoadingOverlay, Text } from '@​mantine/core';
import { useFetch } from '@​mantine/hooks';
interface Item {
userId: number;
id: number;
title: string;
completed: boolean;
}
function Demo() {
const { data, loading, error, refetch, abort } = useFetch<Item[]>(
'https://jsonplaceholder.typicode.com/todos/'
);
return (
<div>
{error && <Text c="red">{error.message}</Text>}
<Group>
<Button onClick={refetch} color="blue">
Refetch
</Button>
<Button onClick={abort} color="red">
Abort
</Button>
</Group>
<Box pos="relative" mt="md">
<Code block>{data ? JSON.stringify(data.slice(0, 3), null, 2) : 'Fetching'}</Code>
<LoadingOverlay visible={loading} />
</Box>
</div>
);
}
use-map hook
New use-map hook:
import { IconPlus, IconTrash } from '@​tabler/icons-react';
import { ActionIcon, Group, Table } from '@​mantine/core';
import { useMap } from '@​mantine/hooks';
function Demo() {
const map = useMap([
['/hooks/use-media-query', 4124],
['/hooks/use-clipboard', 8341],
['/hooks/use-fetch', 9001],
]);
const rows = Array.from(map.entries()).map(([key, value]) => (
<Table.Tr key={key}>
<Table.Td>{key}</Table.Td>
<Table.Td>{value}</Table.Td>
<Table.Td>
<Group>
<ActionIcon variant="default" onClick={() => map.set(key, value + 1)} fw={500}>
<IconPlus stroke={1.5} size={18} />
</ActionIcon>
<ActionIcon variant="default" onClick={() => map.delete(key)} c="red">
<IconTrash stroke={1.5} size={18} />
</ActionIcon>
</Group>
</Table.Td>
</Table.Tr>
));
return (
<Table layout="fixed">
<Table.Thead>
<Table.Tr>
<Table.Th>Page</Table.Th>
<Table.Th>Views last month</Table.Th>
<Table.Th />
</Table.Tr>
</Table.Thead>
<Table.Tbody>{rows}</Table.Tbody>
</Table>
);
}
use-set hook
New use-set hook:
import { useState } from 'react';
import { Code, Stack, TextInput } from '@​mantine/core';
import { useSet } from '@​mantine/hooks';
function Demo() {
const [input, setInput] = useState('');
const scopes = useSet<string>(['@​mantine', '@​mantine-tests', '@​mantinex']);
const isDuplicate = scopes.has(input.trim().toLowerCase());
const items = Array.from(scopes).map((scope) => <Code key={scope}>{scope}</Code>);
return (
<>
<TextInput
label="Add new scope"
placeholder="Enter scope"
description="Duplicate scopes are not allowed"
value={input}
onChange={(event) => setInput(event.currentTarget.value)}
error={isDuplicate && 'Scope already exists'}
onKeyDown={(event) => {
if (event.nativeEvent.code === 'Enter' && !isDuplicate) {
scopes.add(input.trim().toLowerCase());
setInput('');
}
}}
/>
<Stack gap={5} align="flex-start" mt="md">
{items}
</Stack>
</>
);
}
use-debounced-callback hook
New use-debounced-callback hook:
import { useState } from 'react';
import { Loader, Text, TextInput } from '@​mantine/core';
import { useDebouncedCallback } from '@​mantine/hooks';
function getSearchResults(query: string): Promise<{ id: number; title: string }[]> {
return new Promise((resolve) => {
setTimeout(() => {
resolve(
query.trim() === ''
? []
: Array(5)
.fill(0)
.map((_, index) => ({ id: index, title: `${query} ${index + 1}` }))
);
}, 1000);
});
}
function Demo() {
const [search, setSearch] = useState('');
const [searchResults, setSearchResults] = useState<{ id: number; title: string }[]>([]);
const [loading, setLoading] = useState(false);
const handleSearch = useDebouncedCallback(async (query: string) => {
setLoading(true);
setSearchResults(await getSearchResults(query));
setLoading(false);
}, 500);
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
setSearch(event.currentTarget.value);
handleSearch(event.currentTarget.value);
};
return (
<>
<TextInput
value={search}
onChange={handleChange}
placeholder="Search..."
rightSection={loading && <Loader size={20} />}
/>
{searchResults.map((result) => (
<Text key={result.id} size="sm">
{result.title}
</Text>
))}
</>
);
}
use-throttled-state hook
New use-throttled-state hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledState } from '@​mantine/hooks';
function Demo() {
const [throttledValue, setThrottledValue] = useThrottledState('', 1000);
return (
<>
<TextInput
placeholder="Search"
onChange={(event) => setThrottledValue(event.currentTarget.value)}
/>
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-throttled-value hook
New use-throttled-value hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledValue } from '@​mantine/hooks';
function Demo() {
const [value, setValue] = useState('');
const throttledValue = useThrottledValue(value, 1000);
return (
<>
<TextInput placeholder="Search" onChange={(event) => setValue(event.currentTarget.value)} />
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-throttled-callback hook
New use-throttled-callback hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledCallback } from '@​mantine/hooks';
function Demo() {
const [throttledValue, setValue] = useState('');
const throttledSetValue = useThrottledCallback((value) => setValue(value), 1000);
return (
<>
<TextInput
placeholder="Search"
onChange={(event) => throttledSetValue(event.currentTarget.value)}
/>
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-orientation hook
New use-orientation hook:
import { Code, Text } from '@​mantine/core';
import { useOrientation } from '@​mantine/hooks';
function Demo() {
const { angle, type } = useOrientation();
return (
<>
<Text>
Angle: <Code>{angle}</Code>
</Text>
<Text>
Type: <Code>{type}</Code>
</Text>
</>
);
}
use-is-first-render hook
New use-is-first-render hook:
import { useState } from 'react';
import { Button, Text } from '@​mantine/core';
import { useIsFirstRender } from '@​mantine/hooks';
function Demo() {
const [counter, setCounter] = useState(0);
const firstRender = useIsFirstRender();
return (
<div>
<Text>
Is first render:{' '}
<Text span c={firstRender ? 'teal' : 'red'}>
{firstRender ? 'Yes' : 'No!'}
</Text>
</Text>
<Button onClick={() => setCounter((c) => c + 1)} mt="sm">
Rerendered {counter} times, click to rerender
</Button>
</div>
);
}
Documentation updates
- New uncontrolled form guide
- onValuesChange documentation has been added
- A new demo has been added to tiptap that shows how to customize typography styles
- A new guide has been added to customize Popover middlewares
Other changes
-
NumberInput now supports
withKeyboardEvents={false}
to disable up/down arrow keys handling - Popover shift middleware now has default padding of 5px to offset dropdown near the edge of the viewport
mantinedev/mantine (@mantine/hooks)
v7.17.7
v7.17.6
: 7.17.7
What's Changed
-
[@mantine/core]
Table: FixstickyHeader
prop having impact onth
selector specificity (#7767) -
[@mantine.core]
NumberInput: Fixmax
prop not reseting value on blur if the value is larger than Number.MAX_SAFE_INTEGER (#7766) -
[@mantine.hook]
use-resize-observer: Fix width/height not being calculated correctly for elements withbox-sizing: content-box
(#7764) -
[@mantine/core]
NavLink: FixrightSection={null}
not disabling chevron -
[@mantine.hook]
use-hotkeys: FixusePhysicalKeys
option not working with spacial keys (#7761) -
[@mantine/core]
Modal: Fix scrollarea used inside the modal affecting the position of the close button (#7738) -
[@mantine/core]
Select: Fix defineddefaultValue
being ignored withdata
updates (#7742) -
[@mantine/core]
ScrollArea: Fix content overflowing the viewport in some cases (#7748) -
[@mantine/charts]
RadarChart: Add tooltip and dots support (#7749) -
[@mantine/modals]
FixconfirmProps
not available inupdateModal
function (#7750) -
[@mantine/hooks]
use-debounced-callback: FixflushOnUnmount
not working (#7745) -
[@mantine/core]
Table: Add missing TableScrollContainerProps export
New Contributors
- @gfazioli made their first contribution in https://github.com/mantinedev/mantine/pull/7740
- @LilyStilson made their first contribution in https://github.com/mantinedev/mantine/pull/7749
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.5...7.17.6
v7.17.5
What's Changed
-
[@mantine/form]
Addform.getInitialValues
handler -
[@mantine/core]
RangeSlider: Fix first thumb not being focused when the component root is clicked (#7731) -
[@mantine/core]
PillsInput: Remove lefovermultiline
prop types (#7727) -
[@mantine/charts]
CompositeChart: Fixtype="stacked"
being confused with BarChart behavior -
[@mantine/core]
Notification: Allow changing role attribute on the root element (#7682) -
[@mantine/hooks]
use-idle: Fixwheel
event not being tracked (#7669) -
[@mantine/core]
Table: AddmaxHeight
prop support toTable.ScrollContainer
(#7713) -
[@mantine/core]
Modal: Fix incorrect Escape key handling during IME composition (#7700) -
[@mantine/form]
AdddefaultChecked
toform.getInputProps
return type (#7702) -
[@mantine/hooks]
use-hotkeys: Update matching logic to include both physical and layout keys (#7708) -
[@mantine/dates]
Fix day.js isSame function not working correctly for non-Gregorian calendars (#7712) -
[@mantine.core]
SegmentedControl: Fix animation not working with controlled value (#7721)
New Contributors
- @danielytics made their first contribution in https://github.com/mantinedev/mantine/pull/7708
- @tvandoren made their first contribution in https://github.com/mantinedev/mantine/pull/7702
- @AliAkrem made their first contribution in https://github.com/mantinedev/mantine/pull/7669
- @scato3 made their first contribution in https://github.com/mantinedev/mantine/pull/7739
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.4...7.17.5
v7.17.4
What's Changed
-
[@mantine/hooks]
use-orientation: Add option to customize initial values (#7657) -
[@mantine/core]
FixselectFirstOptionOnChange
not working correctly (#7583) -
[@mantine/core]
Fix error thrown when Textarea was used on cloudflare workers (#7637) -
[@mantine/core]
Allow spacing, radius and font-size types augmentation (#7644) -
[@mantine/core]
ScrollArea: Fix scrollbars being invisible whenoffsetScrollbars='present'
is not set (#7647) -
[@mantine/core]
TypographyStylesProvider: Fix headings font-family not matching the value defined on the theme (#7651) -
[@mantine/core]
Paper: Add CSS variable for border-color for easier overrides (#7654) -
[@mantine/core]
Table: FixstickyHeader
prop affecting border rendering (#7658) -
[@mantine/core]
Slider: FixonChangeEnd
using stale external state (#7660)
New Contributors
- @Han5991 made their first contribution in https://github.com/mantinedev/mantine/pull/7660
- @WojakGra made their first contribution in https://github.com/mantinedev/mantine/pull/7658
- @drew-r made their first contribution in https://github.com/mantinedev/mantine/pull/7651
- @mark-night made their first contribution in https://github.com/mantinedev/mantine/pull/7644
- @Odonno made their first contribution in https://github.com/mantinedev/mantine/pull/7636
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.3...7.17.4
v7.17.3
What's Changed
-
[@mantine/core]
Pill: Fix incorrectremoveButtonProps
type -
[@mantine/modals]
Fixdata-*
attributes not being included in types for confirm and cancel button props -
[@mantine/core]
Fix incorrect selected option position handling when search changes in Select, MultiSelect, Autocomplete and TagsInput (#7583) -
[@mantine/core]
SegmentedControl: Fix incorrect indicator position whendata
is updated (#7615) -
[@mantine/core]
ScrollArea: Fix scrollbars being revealed on hover when hidden withoffsetScrollbars="present"
(#7599) -
[@mantine/core]
AppShell: Fix disabled prop not removing aside and footer margins (#7609) -
[@mantine/modals]
Fix incorrect esm exports paths (#7603) -
[@mantine/core]
Checkbox: Set indeterminate attribute on the DOM node (#7608, #7613)
New Contributors
- @andrewborstein made their first contribution in https://github.com/mantinedev/mantine/pull/7613
- @connorads made their first contribution in https://github.com/mantinedev/mantine/pull/7603
- @ofk made their first contribution in https://github.com/mantinedev/mantine/pull/7609
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.2...7.17.3
v7.17.2
What's Changed
-
[@mantine/core]
Menu: Fix missingwithProps
function -
[@mantine/core]
Transition: Fix 1px child elements shift in Chrome for animations with scaling -
[@mantine/core]
ScrollArea: AddoffsetScrollbars="present"
option support (#7527) -
[@mantine/core]
Notification: AddloaderProps
to pass props down to Loader component (#7577) -
[@mantine/core]
Tooltip: Fixref
prop not working correctly on the child element of the tooltip (#7578) -
[@mantine/core]
Select: Fix dropdown not openning in Firefox (#7539)
New Contributors
- @yushihang made their first contribution in https://github.com/mantinedev/mantine/pull/7579
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.1...7.17.2
v7.17.1
What's Changed
-
[@mantine/core]
Select: Fix caret displayed when the readonly input is clicked (#7476) -
[@mantine/charts]
Fix incorrect types ofclassNames
prop of PieChart and DonutChart components (#7475) -
[@mantine/charts]
BubbleChart: Fix broken layout whenlabel
prop is used with React 19 -
[@mantine/form]
Fix missingisJSONString
export (#7508) -
[@mantine/core]
Fix MultiSelect and TagsInputs dropdowns still being opened on click when components were used inside disabled fieldset (#7528) -
[@mantine/code-highlight]
Fallback unsupported code to plaintext (#7497) -
[@mantine/emotion]
Improve "Go to definition" support forcreateStyles
classes (#7526)
New Contributors
- @kino90 made their first contribution in https://github.com/mantinedev/mantine/pull/7513
- @tranhl made their first contribution in https://github.com/mantinedev/mantine/pull/7526
- @imcvampire made their first contribution in https://github.com/mantinedev/mantine/pull/7497
- @ched-dev made their first contribution in https://github.com/mantinedev/mantine/pull/7480
- @ysalo made their first contribution in https://github.com/mantinedev/mantine/pull/7508
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.0...7.17.1
v7.17.0
: 🌶️
View changelog with demos on mantine.dev website
Last 7.x minor release
This is the last minor release in the 7.x
series. The next release will be 8.0
with breaking changes and new features.
You are welcome to review the changelog/code and provide feedback and bug reports in Discord or GitHub discussions:
- Changelog – https://alpha.mantine.dev/changelog/8-0-0/
- Source code – https://github.com/mantinedev/mantine/tree/8.0
How to update your project dependencies to the new alpha version:
- Open your
package.json
- Find all
@mantine/
packages - Update version of all
@mantine/
packages to8.0.0-alpha.0
- Install dependencies with your package manager, for example,
yarn
ornpm install
Important notes:
- 8.0 release is scheduled for May 5th. Until then you can influence the included breaking changes by proving feedback using Discord or GitHub discussions.
- Currently most of planned breaking changes are implemented – it is not planned to introduce other significant breaking changes (unless new versions of recharts or tiptap are released before May 5th).
- You can find the updated source code in 8.0 branch on GitHub
- Since the changes to codebase are not that significant compared to previous major releases, it is not planned to deprecate 7.x version as soon as 8.0 is release. 7.17.x patches are planned to be released for some time – if you are not ready to migrate to 8.x, you will still be able to receive bug fixes for 7.x (no new features though).
Portal reuseTargetNode prop
Portal component now supports reuseTargetNode
prop which allows to reuse the same target node for all instances.
This option is more performant than the previous behavior, it is recommended to be enabled.
This option will be enabled by default in the 8.0
major release.
To enable reuseTargetNode option in all components that depend on Portal, add the following code to your theme:
import { createTheme, Portal } from '@​mantine/core';
export const theme = createTheme({
components: {
Portal: Portal.extend({
defaultProps: {
reuseTargetNode: true,
},
}),
},
});
Example usage. In the following example, all three paragraphs will be rendered in the same target node:
import { Portal } from '@​mantine/core';
function Demo() {
return (
<>
<Portal reuseTargetNode>
<p>First</p>
</Portal>
<Portal reuseTargetNode>
<p>Second</p>
</Portal>
<Portal reuseTargetNode>
<p>Third</p>
</Portal>
</>
);
}
use-form formRootRule
formRootRule
is a special rule path that can be used to validate objects and arrays
alongside with their nested fields. For example, it is useful when you want to capture
a list of values, validate each value individually and then validate the list itself
to not be empty:
import { IconTrash } from '@​tabler/icons-react';
import { ActionIcon, Button, Group, Switch, Text, TextInput } from '@​mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@​mantine/form';
import { randomId } from '@​mantine/hooks';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
employees: [{ name: '', active: false, key: randomId() }],
},
validate: {
employees: {
[formRootRule]: isNotEmpty('At least one employee is required'),
name: isNotEmpty('Name is required'),
},
},
});
const fields = form.getValues().employees.map((item, index) => (
<Group key={item.key} mt="xs">
<TextInput
placeholder="John Doe"
withAsterisk
style={{ flex: 1 }}
key={form.key(`employees.${index}.name`)}
{...form.getInputProps(`employees.${index}.name`)}
/>
<Switch
label="Active"
key={form.key(`employees.${index}.active`)}
{...form.getInputProps(`employees.${index}.active`, { type: 'checkbox' })}
/>
<ActionIcon color="red" onClick={() => form.removeListItem('employees', index)}>
<IconTrash size={16} />
</ActionIcon>
</Group>
));
return (
<form onSubmit={form.onSubmit(() => {})}>
{fields.length > 0 ? (
<Group mb="xs">
<Text fw={500} size="sm" style={{ flex: 1 }}>
Name
</Text>
<Text fw={500} size="sm" pr={90}>
Status
</Text>
</Group>
) : (
<Text c="dimmed" ta="center">
No one here...
</Text>
)}
{fields}
{form.errors.employees && (
<Text c="red" size="sm" mt="sm">
{form.errors.employees}
</Text>
)}
<Group justify="space-between" mt="md">
<Button
variant="default"
onClick={() => {
form.insertListItem('employees', { name: '', active: false, key: randomId() });
form.clearFieldError('employees');
}}
>
Add employee
</Button>
<Button type="submit">Submit</Button>
</Group>
</form>
);
}
Another example is to validate an object fields combination:
import { Button, Text, TextInput } from '@​mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
user: {
firstName: '',
lastName: '',
},
},
validate: {
user: {
[formRootRule]: (value) =>
value.firstName.trim().length > 0 && value.firstName === value.lastName
? 'First name and last name cannot be the same'
: null,
firstName: isNotEmpty('First name is required'),
lastName: isNotEmpty('Last name is required'),
},
},
});
return (
<form onSubmit={form.onSubmit(() => {})}>
<TextInput
label="First name"
placeholder="First name"
{...form.getInputProps('user.firstName')}
/>
<TextInput
label="Last name"
placeholder="Last name"
mt="md"
{...form.getInputProps('user.lastName')}
/>
{form.errors.user && (
<Text c="red" mt={5} fz="sm">
{form.errors.user}
</Text>
)}
<Button type="submit" mt="lg">
Submit
</Button>
</form>
);
}
isJSONString and isNotEmptyHTML form validators
New isJSONString
and isNotEmptyHTML
form validators:
-
isNotEmptyHTML
checks that form value is not an empty HTML string. Empty string, string with only HTML tags and whitespace are considered to be empty. -
isJSONString
checks that form value is a valid JSON string.
import { isJSONString, useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: {
json: '',
html: '',
},
validate: {
json: isJSONString('Invalid JSON string'),
html: isNotEmptyHTML('HTML cannot be empty'),
},
});
Popover onDismiss
Popover now supports onDismiss
prop, which makes it easier
to subscribe to outside clicks and escape key presses to close popover:
import { useState } from 'react';
import { Button, Popover } from '@​mantine/core';
function Demo() {
const [opened, setOpened] = useState(false);
return (
<Popover opened={opened} onDismiss={() => setOpened(false)}>
<Popover.Target>
<Button onClick={() => setOpened((o) => !o)}>Toggle popover</Button>
</Popover.Target>
<Popover.Dropdown>Dropdown</Popover.Dropdown>
</Popover>
);
}
MantineProvider env
MantineProvider component now supports env
prop.
It can be used in test environment to disable some features that
might impact tests and/or make it harder to test components:
- transitions that mount/unmount child component with delay
- portals that render child component in a different part of the DOM
To enable test environment, set env
to test
:
import { MantineProvider } from '@​mantine/core';
function Demo() {
return <MantineProvider env="test">{/* Your app here */}</MantineProvider>;
}
use-file-dialog hook
New use-file-dialog allows capturing one or more files from the user without file input element:
import { Button, Group, List } from '@​mantine/core';
import { useFileDialog } from '@​mantine/hooks';
function Demo() {
const fileDialog = useFileDialog();
const pickedFiles = Array.from(fileDialog.files || []).map((file) => (
<List.Item key={file.name}>{file.name}</List.Item>
));
return (
<div>
<Group>
<Button onClick={fileDialog.open}>Pick files</Button>
{pickedFiles.length > 0 && (
<Button variant="default" onClick={fileDialog.reset}>
Reset
</Button>
)}
</Group>
{pickedFiles.length > 0 && <List mt="lg">{pickedFiles}</List>}
</div>
);
}
Remix deprecation
Remix is deprecated, the documentation related to Remix integration was removed, use React Router instead. To simplify maintenance, Remix/React Router templates were archived and will not be updated.
Help center updates
- I get hydration warning about data-mantine-color-scheme attribute, what does it mean? question
- How can I apply styles to all Mantine components? question
Other changes
-
Tooltip now supports customizing
middlewares
-
ScrollArea now supports
overscrollBehavior
prop -
Affix now supports
theme.spacing
values forposition
prop -
Anchor now supports
underline="not-hover"
option to display underline only when the link is not hovered
v7.16.3
What's Changed
-
[@mantine/core]
Removeuse client
fromisLightColor
function -
[@mantine/core]
TextInput: Fix autocomplete forvariant
prop not working -
[@mantine/carousel]
Fix aria-hidden warning displayed in Chrome console when indicator is clicked (#7414) -
[@mantine/core]
Fix clear button overlaying input content in Autocomplete and other similar components (#7431) -
[@mantine/core]
Combobox: Fix incorrect dropdown padding when used with ScrollArea (#7450) -
[@mantine/core]
Fix0
gradientdeg
value not working correctly (#7444) -
[@mantine/core]
ScrollArea: Fix user-select being left as none after interaction with scrollbar in some edge cases (#7423) -
[@mantine/dates]
DateInput: Fix infinite loop in Safari (#7442)
New Contributors
- @kingflamez made their first contribution in https://github.com/mantinedev/mantine/pull/7442
- @webkonstantin made their first contribution in https://github.com/mantinedev/mantine/pull/7423
- @marcinlukanus made their first contribution in https://github.com/mantinedev/mantine/pull/7444
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.2...7.16.3
v7.16.2
What's Changed
-
[@mantine/core]
Tooltip: Migrate from deprecateduseDelayGroupContext
hook touseDelayGroup
-
[@mantine/core]
Tabs: FixtabIndex={0}
set onTabs.Tab
being ignored (#7407) -
[@mantine/core]
Fix chevron icon not being clickable in Select and MultiSelect components (#7395) -
[@mantine/dates]
MonthPicker: Fix infinite useEffect with use-form in some cases (#7389) -
[@mantine/hooks]
use-hotkeys: Add better support for non-QUERTY keyboards (#7390) -
[@mantine/dates]
DateTimePicker: Fix timezone conversion being applied twice (#7400) -
[@mantine/hooks]
Fix potential dangerous access of ref value in useEffect cleanup (#7404)
New Contributors
- @ohansFavour made their first contribution in https://github.com/mantinedev/mantine/pull/7402
- @danpeavey-classdojo made their first contribution in https://github.com/mantinedev/mantine/pull/7390
- @openscript made their first contribution in https://github.com/mantinedev/mantine/pull/7389
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.1...7.16.2
v7.16.1
What's Changed
-
[@mantine/core]
Menu: AddwithInitialFocusPlaceholder
prop support -
[@mantine/core]
Slider: FixonChangeEnd
being called whendisabled
prop is set -
[@mantine/core]
Add option to customize chevron color withchevronColor
prop in Select and MultiSelect components -
[@mantine/core]
Fix incorrect styles of nested tables (#7354) -
[@mantine/core]
: NumberInput: FixonChange
being called inonBlur
if the value has not been changed (#7383) -
[@mantine/core]
Menu: Adddata-disabled
prop handling to Menu.Item component (#7377) -
[@mantine/form]
Fix incorrect values handling inform.resetDirty
(#7373) -
[@mantine/chart]
AreaChart: FixgridColor
andtextColor
props being passed as attributes to the DOM node (#7378) -
[@mantine/hooks]
use-in-viewport: Fix tracking being stopped when used with a dnd library (#7359) -
[@mantine/core]
MantineProvider: Fix jest tests not running in case there is incorrectwindow.matchMedia
polyfill implementation (#7360) -
[@mantine/core]
Modal: Fix Escape key not working in old Safari versions (#7358)
New Contributors
- @kidonng made their first contribution in https://github.com/mantinedev/mantine/pull/7364
- @Benjaminsson made their first contribution in https://github.com/mantinedev/mantine/pull/7360
- @cameronrdecker made their first contribution in https://github.com/mantinedev/mantine/pull/7380
- @tomrehnstrom made their first contribution in https://github.com/mantinedev/mantine/pull/7373
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.0...7.16.1
v7.16.0
: 🌶️
View changelog with demos on mantine.dev website
use-scroll-spy hook
New use-scroll-spy hook tracks scroll position and returns index of the element that is currently in the viewport. It is useful for creating table of contents components (like in mantine.dev sidebar on the right side) and similar features.
import { Text, UnstyledButton } from '@​mantine/core';
import { useScrollSpy } from '@​mantine/hooks';
function Demo() {
const spy = useScrollSpy({
selector: '#mdx :is(h1, h2, h3, h4, h5, h6)',
});
const headings = spy.data.map((heading, index) => (
<li
key={heading.id}
style={{
listStylePosition: 'inside',
paddingInlineStart: heading.depth * 20,
background: index === spy.active ? 'var(--mantine-color-blue-light)' : undefined,
}}
>
<UnstyledButton onClick={() => heading.getNode().scrollIntoView()}>
{heading.value}
</UnstyledButton>
</li>
));
return (
<div>
<Text>Scroll to heading:</Text>
<ul style={{ margin: 0, padding: 0 }}>{headings}</ul>
</div>
);
}
TableOfContents component
New TableOfContents component is built on top of use-scroll-spy
hook
and can be used to create table of contents components like the one on the right side of mantine.dev
documentation sidebar:
import { TableOfContents } from '@​mantine/core';
function Demo() {
return (
<TableOfContents
variant="filled"
color="blue"
size="sm"
radius="sm"
scrollSpyOptions={{
selector: '#mdx :is(h1, h2, h3, h4, h5, h6)',
}}
getControlProps={({ data }) => ({
onClick: () => data.getNode().scrollIntoView(),
children: data.value,
})}
/>
);
}
Input.ClearButton component
New Input.ClearButton
component can be used to add clear button to custom inputs
based on Input
component. size
of the clear button is automatically
inherited from the input:
import { Input } from '@​mantine/core';
function Demo() {
const [value, setValue] = useState('clearable');
return (
<Input
placeholder="Clearable input"
value={value}
onChange={(event) => setValue(event.currentTarget.value)}
rightSection={value !== '' ? <Input.ClearButton onClick={() => setValue('')} /> : undefined}
rightSectionPointerEvents="auto"
size="sm"
/>
);
}
Popover with overlay
Popover and other components based on it now support withOverlay
prop:
import { Anchor, Avatar, Group, Popover, Stack, Text } from '@​mantine/core';
function Demo() {
return (
<Popover
width={320}
shadow="md"
withArrow
withOverlay
overlayProps={{ zIndex: 10000, blur: '8px' }}
zIndex={10001}
>
<Popover.Target>
<UnstyledButton style={{ zIndex: 10001, position: 'relative' }}>
<Avatar src="https://avatars.githubusercontent.com/u/79146003?s=200&v=4" radius="xl" />
</UnstyledButton>
</Popover.Target>
<Popover.Dropdown>
<Group>
<Avatar src="https://avatars.githubusercontent.com/u/79146003?s=200&v=4" radius="xl" />
<Stack gap={5}>
<Text size="sm" fw={700} style={{ lineHeight: 1 }}>
Mantine
</Text>
<Anchor href="https://x.com/mantinedev" c="dimmed" size="xs" style={{ lineHeight: 1 }}>
@​mantinedev
</Anchor>
</Stack>
</Group>
<Text size="sm" mt="md">
Customizable React components and hooks library with focus on usability, accessibility and
developer experience
</Text>
<Group mt="md" gap="xl">
<Text size="sm">
<b>0</b> Following
</Text>
<Text size="sm">
<b>1,174</b> Followers
</Text>
</Group>
</Popover.Dropdown>
</Popover>
);
}
Container queries in Carousel
You can now use container queries in Carousel component. With container queries, all responsive values are adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { Carousel } from '@​mantine/carousel';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// It is not required in real projects
<div
style={{
resize: 'horizontal',
overflow: 'hidden',
maxWidth: '100%',
minWidth: 250,
padding: 10,
}}
>
<Carousel
withIndicators
height={200}
type="container"
slideSize={{ base: '100%', '300px': '50%', '500px': '33.333333%' }}
slideGap={{ base: 0, '300px': 'md', '500px': 'lg' }}
loop
align="start"
>
<Carousel.Slide>1</Carousel.Slide>
<Carousel.Slide>2</Carousel.Slide>
<Carousel.Slide>3</Carousel.Slide>
{/* ...other slides */}
</Carousel>
</div>
);
}
RangeSlider restrictToMarks
RangeSlider component now supports restrictToMarks
prop:
import { Slider } from '@​mantine/core';
function Demo() {
return (
<Stack>
<Slider
restrictToMarks
defaultValue={25}
marks={Array.from({ length: 5 }).map((_, index) => ({ value: index * 25 }))}
/>
<RangeSlider
restrictToMarks
defaultValue={[5, 15]}
marks={[
{ value: 5 },
{ value: 15 },
{ value: 25 },
{ value: 35 },
{ value: 70 },
{ value: 80 },
{ value: 90 },
]}
/>
</Stack>
);
}
Pagination withPages prop
Pagination component now supports withPages
prop which allows hiding pages
controls and displaying only previous and next buttons:
import { useState } from 'react';
import { Group, Pagination, Text } from '@​mantine/core';
const limit = 10;
const total = 145;
const totalPages = Math.ceil(total / limit);
function Demo() {
const [page, setPage] = useState(1);
const message = `Showing ${limit * (page - 1) + 1} – ${Math.min(total, limit * page)} of ${total}`;
return (
<Group justify="flex-end">
<Text size="sm">{message}</Text>
<Pagination total={totalPages} value={page} onChange={setPage} />
</Group>
);
}
useForm touchTrigger option
use-form hook now supports touchTrigger
option that allows customizing events that change touched state.
It accepts two options:
-
change
(default) – field will be considered touched when its value changes or it has been focused -
focus
– field will be considered touched only when it has been focused
Example of using focus
trigger:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { a: 1 },
touchTrigger: 'focus',
});
form.isTouched('a'); // -> false
form.setFieldValue('a', 2);
form.isTouched('a'); // -> false
// onFocus is called automatically when the user focuses the field
form.getInputProps('a').onFocus();
form.isTouched('a'); // -> true
Help Center updates
- Native browser validation does not work in some components, what should I do? question
- My styles are broken with disabled JavaScript. What should I do? question
- How can I add fuzzy search to Select component? question
- use-local-storage hook returns real value only after mounting, is it a bug? question
- How can I upload files from Dropzone component? question
Other changes
-
Autocomplete now supports
clearable
prop - where-* mixins documentation has been added
-
use-local-storage hook now supports
sync
option which allows disabling synchronization between browser tabs
v7.15.3
What's Changed
-
[@mantine/charts]
BarChart: FixtextColor
prop being passed down as attribute to the DOM node -
[@mantine/core]
TypographyStylesProvider: Fix incorrect top and bottom margins of first and last elements (#7334) -
[@mantine/core]
Transition: Fix some transitions being incompatible with headless mode (#7306) -
[@mantine/dates]
DateTimePicker: Set milliseconds to 0 on the result date object (#7328) -
[@mantine/dates]
FixhasNextLevel
prop type leak to DateTimePicker component (#7319) -
[@mantine/core]
Avatar: Change initials function to use the full name to generate color (#7322) -
[@mantine/hooks]
use-merged-ref: Add support for ref cleanup function in React 19 (#7304) -
[@mantine/hooks]
use-debounced-callback: Addflush
method to returned callback (#7272) -
[@mantine/dates]
Improve compatibility with dayjs plugins in all components (#7302) -
[@mantine/core]
Update peer dependencies to support React 19 (#7321)
New Contributors
- @baravak made their first contribution in https://github.com/mantinedev/mantine/pull/7302
- @scamden made their first contribution in https://github.com/mantinedev/mantine/pull/7272
- @YukiKoNeko made their first contribution in https://github.com/mantinedev/mantine/pull/7322
- @yuki0410-dev made their first contribution in https://github.com/mantinedev/mantine/pull/7319
- @zoubingwu made their first contribution in https://github.com/mantinedev/mantine/pull/7323
- @clarknova made their first contribution in https://github.com/mantinedev/mantine/pull/7328
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.2...7.15.3
v7.15.2
What's Changed
-
[@mantine/dates]
DatePicker: Fix incorrect handling of receiving partial value whentype="range"
(#7278) -
[@mantine/hooks]
use-local-storage: Fix value not being updated whenkey
changes (#7286) -
[@mantine/charts]
FixgridColor
prop being passed down as attribute to html element (#7288) -
[@mantine/core]
Update react-textarea-autosize to support React 19 (#7297) -
[@mantine/core]
TypographyStylesProvider: Fix margin removal affecting non-typography elements (#7290) -
[@mantine/core]
Tooltip: Addmiddlewares
prop support (#7281) -
[@mantine/core]
FloatingIndicator: Fix incorrect position calculations when the parent element has border (#7267) -
[@mantine/core]
ScrollArea: Fix scrollbar not changing with the scroll position on first render (#7257, #7260) -
[@mantine/tiptap]
Fix incorrect paragraph styles inside lists (#7255) -
[@mantine/hooks]
Fix incorrect ref types in use-move, use-radial-move, use-in-viewport and use-scroll-into-view (#7252) -
[@mantine/form]
Fix incorrect validators types (#7242)
New Contributors
- @QuinnStraus made their first contribution in https://github.com/mantinedev/mantine/pull/7255
- @tamago324 made their first contribution in https://github.com/mantinedev/mantine/pull/7260
- @StyxOfDynamite made their first contribution in https://github.com/mantinedev/mantine/pull/7270
- @lamualfa made their first contribution in https://github.com/mantinedev/mantine/pull/7267
- @angristan made their first contribution in https://github.com/mantinedev/mantine/pull/7284
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.1...7.15.2
v7.15.1
What's Changed
-
[@mantine/dates]
Improve focus behavior of DatePickerInput, DateInput and other components -
[@mantine/form]
AddtouchTrigger
option support -
[@mantine/hooks]
Add option to specify prefix inrandonId
function -
[@mantine/core]
FixwithProps
function requiring all component props instead of partial -
[@mantine/core]
AdduseModalStackContext
anduseDrawerStackContext
hooks exports -
[@mantine/core]
ActionIcon: Addinput-*
autocomplete forsize
prop -
[@mantine/core]
AppShell: Fix incorrect defaultoffsetScrollbars
value forlayout="alt"
-
[@mantine/core]
FixvirtualColor
function not working in server components (#7184) -
[@mantine/core]
Checkbox: Fix incorrect Checkbox.Card behavior inside Checkbox.Group (#7187) -
[@mantine/core]
Checkbox: Fix incorrect Checkbox.Card behavior inside Checkbox.Group (#7187) -
[@mantine/core]
Slider: Add option to pass attributes down to thumb withthumbProps
(#7214) -
[@mantine/core]
Switch: Add data-checked attribute to the input (#7228) -
[@mantine/dates]
FixhasNextLevel
prop type leak to DatePicker component (#7229) -
[@mantine/dates]
Fix timezone not being applied to the formatted value (#7162) -
[@mantine/modals]
FixmodalId
being passed to the DOM node as attribute (#7189) -
[@mantine/core]
TypographyStylesProvider: Fix incorrect paragraphs inside lists styles (#7226) -
[@mantine/core]
Slider: Fix icon used as thumb child not being visible with the dark color scheme (#7231, #7232) -
[@mantine/tiptap]
Fix missing border in custom controls (#7239)
New Contributors
- @jnachtigall made their first contribution in https://github.com/mantinedev/mantine/pull/7238
- @onkar-deshpande made their first contribution in https://github.com/mantinedev/mantine/pull/7226
- @anthonyalayo made their first contribution in https://github.com/mantinedev/mantine/pull/7188
- @NyxinU made their first contribution in https://github.com/mantinedev/mantine/pull/7162
Full Changelog: https://github.com/mantinedev/mantine/compare/7.15.0...7.15.1
v7.15.0
: 💋
View changelog with demos on mantine.dev website
Support Mantine development
You can now sponsor Mantine development with OpenCollective. All funds will be used to improve Mantine and create new features and components.
use-radial-move hook
New use-radial-move hook can be used to create custom radial sliders:
import { useState } from 'react';
import { Box } from '@​mantine/core';
import { useRadialMove } from '@​mantine/hooks';
import classes from './Demo.module.css';
function Demo() {
const [value, setValue] = useState(115);
const { ref } = useRadialMove(setValue);
return (
<Box className={classes.root} ref={ref} style={{ '--angle': `${value}deg` }}>
<div className={classes.value}>{value}°</div>
<div className={classes.thumb} />
</Box>
);
}
BarChart color based on value
BarChart component now supports getBarColor
prop to assign color based on value.
getBarColor
function is called with two arguments: value and series object. It should return a color
string (theme color reference or any valid CSS color value).
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
getBarColor={(value) => (value > 700 ? 'teal.8' : 'red.8')}
series={[{ name: 'Laptops', color: 'gray.6' }]}
/>
);
}
Button.GroupSection and ActionIcon.GroupSection
ActionIcon.GroupSection
and Button.GroupSection
are new components that
can be used in ActionIcon.Group
/Button.Group
to create sections that are
not ActionIcon
/Button
components:
import { IconChevronDown, IconChevronUp } from '@​tabler/icons-react';
import { ActionIcon } from '@​mantine/core';
import { useCounter } from '@​mantine/hooks';
function Demo() {
const [value, { increment, decrement }] = useCounter(135, { min: 0 });
return (
<ActionIcon.Group>
<ActionIcon variant="default" size="lg" radius="md" onClick={decrement}>
<IconChevronDown color="var(--mantine-color-red-text)" />
</ActionIcon>
<ActionIcon.GroupSection variant="default" size="lg" bg="var(--mantine-color-body)" miw={60}>
{value}
</ActionIcon.GroupSection>
<ActionIcon variant="default" size="lg" radius="md" onClick={increment}>
<IconChevronUp color="var(--mantine-color-teal-text)" />
</ActionIcon>
</ActionIcon.Group>
);
}
Table vertical variant
Table component now support variant="vertical"
:
import { Table } from '@​mantine/core';
export function Demo() {
return (
<Table variant="vertical" layout="fixed" withTableBorder>
<Table.Tbody>
<Table.Tr>
<Table.Th w={160}>Epic name</Table.Th>
<Table.Td>7.x migration</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Status</Table.Th>
<Table.Td>Open</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Total issues</Table.Th>
<Table.Td>135</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Total story points</Table.Th>
<Table.Td>874</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Last updated at</Table.Th>
<Table.Td>September 26, 2024 17:41:26</Table.Td>
</Table.Tr>
</Table.Tbody>
</Table>
);
}
Table tabular numbers
Table component now supports tabularNums
prop to render numbers in tabular style. It sets
font-variant-numeric: tabular-nums
which makes numbers to have equal width.
This is useful when you have columns with numbers and you want them to be aligned:
import { NumberFormatter, Table } from '@​mantine/core';
const data = [
{ product: 'Apples', unitsSold: 2214411234 },
{ product: 'Oranges', unitsSold: 9983812411 },
{ product: 'Bananas', unitsSold: 1234567890 },
{ product: 'Pineapples', unitsSold: 9948810000 },
{ product: 'Pears', unitsSold: 9933771111 },
];
function Demo() {
const rows = data.map((item) => (
<Table.Tr key={item.product}>
<Table.Td>{item.product}</Table.Td>
<Table.Td>
<NumberFormatter value={item.unitsSold} thousandSeparator />
</Table.Td>
</Table.Tr>
));
return (
<Table tabularNums>
<Table.Thead>
<Table.Tr>
<Table.Th>Product</Table.Th>
<Table.Th>Units sold</Table.Th>
</Table.Tr>
</Table.Thead>
<Table.Tbody>{rows}</Table.Tbody>
</Table>
);
}
Update function in modals manager
Modals manager now supports modals.updateModal
and modals.updateContextModal
function to update modal after it was opened:
import { Button } from '@​mantine/core';
import { modals } from '@​mantine/modals';
function Demo() {
return (
<Button
onClick={() => {
const modalId = modals.open({
title: 'Initial Modal Title',
children: <Text>This text will update in 2 seconds.</Text>,
});
setTimeout(() => {
modals.updateModal({
modalId,
title: 'Updated Modal Title',
children: (
<Text size="sm" c="dimmed">
This is the updated content of the modal.
</Text>
),
});
}, 2000);
}}
>
Open updating modal
</Button>
);
}
useForm submitting state
use-form hook now supports form.submitting
field
and form.setSubmitting
function to track form submission state.
form.submitting
field will be set to true
if function passed to
form.onSubmit
returns a promise. After the promise is resolved or rejected,
form.submitting
will be set to false
:
import { useState } from 'react';
import { Button, Group, Stack, Text, TextInput } from '@​mantine/core';
import { useForm } from '@​mantine/form';
const asyncSubmit = (values: any) =>
new Promise((resolve) => setTimeout(() => resolve(values), 3000));
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John' },
});
const [completed, setCompleted] = useState(false);
const handleSubmit = async (values: typeof form.values) => {
await asyncSubmit(values);
setCompleted(true);
};
if (completed) {
return (
<Stack>
<Text>Form submitted!</Text>
<Button onClick={() => setCompleted(false)}>Reset to initial state</Button>
</Stack>
);
}
return (
<form onSubmit={form.onSubmit(handleSubmit)}>
<TextInput
withAsterisk
label="Name"
placeholder="Your name"
key={form.key('name')}
disabled={form.submitting}
{...form.getInputProps('name')}
/>
<Group justify="flex-end" mt="md">
<Button type="submit" loading={form.submitting}>
Submit
</Button>
</Group>
</form>
);
}
You can also manually set form.submitting
to true
or false
:
import { useForm } from '@​mantine/form';
const form = useForm({ mode: 'uncontrolled' });
form.submitting; // -> false
form.setSubmitting(true);
form.submitting; // -> true
form.setSubmitting(false);
form.submitting; // -> false
useForm onSubmitPreventDefault option
use-form hook now supports onSubmitPreventDefault
option.
This option is useful if you want to integrate useForm
hook with server actions.
By default, event.preventDefault()
is called on the form onSubmit
handler.
If you want to change this behavior, you can pass onSubmitPreventDefault
option
to useForm
hook. It can have the following values:
-
always
(default) - always callevent.preventDefault()
-
never
- never callevent.preventDefault()
-
validation-failed
- callevent.preventDefault()
only if validation failed
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
onSubmitPreventDefault: 'never',
});
Subtle RichTextEditor variant
RichTextEditor component now supports subtle
variant:
import Highlight from '@​tiptap/extension-highlight';
import Underline from '@​tiptap/extension-underline';
import { useEditor } from '@​tiptap/react';
import StarterKit from '@​tiptap/starter-kit';
import { RichTextEditor } from '@​mantine/tiptap';
const content = '<p>Subtle rich text editor variant</p>';
function Demo() {
const editor = useEditor({
extensions: [StarterKit, Underline, Highlight],
content,
});
return (
<RichTextEditor editor={editor} variant="subtle">
<RichTextEditor.Toolbar sticky stickyOffset={60}>
<RichTextEditor.ControlsGroup>
<RichTextEditor.Bold />
<RichTextEditor.Italic />
<RichTextEditor.Underline />
<RichTextEditor.Strikethrough />
<RichTextEditor.ClearFormatting />
<RichTextEditor.Highlight />
<RichTextEditor.Code />
</RichTextEditor.ControlsGroup>
</RichTextEditor.Toolbar>
<RichTextEditor.Content />
</RichTextEditor>
);
}
onExitTransitionEnd and onEnterTransitionEnd
Modal and Drawer components now support onExitTransitionEnd
and onEnterTransitionEnd
props,
which can be used to run code after exit/enter transition is finished. For example, this is useful when you want to clear
data after modal is closed:
import { useState } from 'react';
import { Button, Group, Modal } from '@​mantine/core';
import { useDisclosure } from '@​mantine/hooks';
function Demo() {
const [firstOpened, firstHandlers] = useDisclosure(false);
const [secondOpened, secondHandlers] = useDisclosure(false);
const [modalData, setModalData] = useState({
title: '',
message: '',
});
return (
<>
<Modal
opened={firstOpened}
onClose={() => {
firstHandlers.close();
setModalData({ title: '', message: '' });
}}
title={modalData.title}
>
{modalData.message}
</Modal>
<Modal
opened={secondOpened}
onClose={secondHandlers.close}
onExitTransitionEnd={() => setModalData({ title: '', message: '' })}
title={modalData.title}
>
{modalData.message}
</Modal>
<Group>
<Button
onClick={() => {
firstHandlers.open();
setModalData({ title: 'Edit your profile', message: 'Imagine a form here' });
}}
>
Clear data in onClose
</Button>
<Button
onClick={() => {
secondHandlers.open();
setModalData({ title: 'Edit your profile', message: 'Imagine a form here' });
}}
>
Clear data in onExitTransitionEnd
</Button>
</Group>
</>
);
}
Week numbers in DatePicker
DatePicker and other components based on Calendar component now support withWeekNumbers
prop to display week numbers:
import { DatePicker } from '@​mantine/dates';
function Demo() {
return <DatePicker withWeekNumbers />;
}
New demo: BarChart with overlay
import { BarChart } from '@​mantine/charts';
import { data } from './data';
import classes from './Demo.module.css';
function Demo() {
const bigBarWidth = useMediaQuery('(min-width: 48em)') ? 42 : 26;
const ratio = 0.5;
const smallBarWidth = bigBarWidth * ratio;
const barGap = (bigBarWidth + smallBarWidth) / -2;
return (
<BarChart
h={300}
data={overlayData}
dataKey="index"
barChartProps={{ barGap }}
barProps={(data) => ({ barSize: data.name === 'you' ? bigBarWidth : smallBarWidth })}
classNames={classes}
series={[
{ name: 'you', color: 'var(--you-bar-color)' },
{ name: 'average', color: 'var(--average-bar-color)' },
]}
/>
);
}
Variants types augmentation
Custom variants types augmentation guide was added to the documentation.
Example of adding custom variant type to Button component:
import { ButtonVariant, MantineSize } from '@​mantine/core';
type ExtendedButtonVariant = ButtonVariant | 'contrast' | 'radial-gradient';
declare module '@​mantine/core' {
export interface ButtonProps {
variant?: ExtendedButtonVariant;
}
}
Help Center updates
- How to use Mantine template on GitHub? and How can I submit a template to Mantine documentation? pages were moved from the documentation to Help Center
- How that thing is done on mantine.dev website? question
- Why is it required to have 10 shades per color? question
- Why I see color scheme flickering on page load? question
- How can I test Modal/Drawer/Popover components? question
v7.14.3
What's Changed
-
[@mantine/core]
Slider: FixrestrictToMarks
prop not working with arrow and Home/End keys correctly -
[@mantine/core]
Checkbox: Fix Checkbox.Card component not working withform.getInputProps
-
[@mantine/core]
Tree: AddcheckOnSpace
prop support (#7132) -
[@mantine/core]
ScrollArea: Fix opacity style ofthumb
being too specific (#7149) -
[@mantine/dates]
AddwithWeekNumbers
prop support to all components based on Calendar (#7179) -
[@mantine/core]
Replace globalJSX
types withReact.JSX
to support React 19 types (#7178)
New Contributors
- @yesmeck made their first contribution in https://github.com/mantinedev/mantine/pull/7178
- @ustun-ed made their first contribution in https://github.com/mantinedev/mantine/pull/7181
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.2...7.14.3
v7.14.2
What's Changed
-
[@mantine/core]
AddonEnterTranstionEnd
andonExitTransitionEnd
props support to Modal, Drawer and Popover components -
[@mantine/charts]
DonutChart: FixvalueFormatter
prop not working, addlabelsType
prop support (#7153) -
[@mantine/charts]
BarChart: Fix incorrect labels positions in some cases (#7160) -
[@mantine/core]
PasswordInput: FixvisibilityToggleButtonProps.variant
prop being ignored (#7144) -
[@mantine/core]
Improvewindow.matchMedia
usage to support test environments withoutmatchMedia
support (#7147) -
[@mantine/core]
Fix arrow overlaying Popover, Tooltip and HoverCard content in some cases (#7148) -
[@mantine/form]
AddonSubmitPreventDefault
option support (#7142) -
[@mantine/core]
TypographyStylesProvider: Fix incorrect lists styles -
[@mantine/notifications]
Fix notifications with bottom-right and top-right positions shifting when modal/drawer is opened -
[@mantine/core]
FileInput: Add missing placeholder Styles API reference -
[@mantine/core]
Update floating-ui, react-textarea-autosize and type-fest dependencies to the latest version -
[@mantine/modals]
AddupdateModal
andupdateContextModal
functions (#7104) -
[@mantine/tiptap]
Fix too specific styles that prevented controls border-radius override without !important -
[@mantine/tiptap]
Fix disabled controls having hover effects and pointer cursor -
[@mantine/core]
FileInput: Add missingcomponent
prop -
[@mantine/core]
AngleSlider: Fix page being scrolled when the value is being changed on mobile -
[@mantine/core]
NumberInput: Fix increment/decrement controls not being visible if the value is number like string -
[@mantine/core]
NavLink: Fix collapse for nested links being rendered even if there are no child links (#7133) -
[@mantine/dates]
FixdefaultDate
prop being ignore in YearPickerInput and MonthPickerInput components (#7108) -
[@mantine/dropzone]
Updatereact-dropzone-esm
to the latest version
New Contributors
- @lsanwick made their first contribution in https://github.com/mantinedev/mantine/pull/7147
- @minosss made their first contribution in https://github.com/mantinedev/mantine/pull/7160
- @me-gusta-v made their first contribution in https://github.com/mantinedev/mantine/pull/7153
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.1...7.14.2
v7.14.1
What's Changed
-
[@mantine/hooks]
use-hotkeys: Fix+
sign not being supported (syntax:shift+[plus]
) (#7123) -
[@mantine/core]
Popover: Fixstyles
prop being handled incorrectly (#7120) -
[@mantine/charts]
FixvalueFormatter
not working in point labels of LineChant, AreaChart and CompositeChart components (#6989) -
[@mantine/core]
Popover: FixonOpen
andonClose
callbacks being called on each render (#7022, #7111, #7115) -
[@mantine/core]
Menu: FixBlocked aria-hidden
warning when an interactive element is clicked outside of the Menu.Dropdown when the Menu is opened (#7035) -
[@mantine/core]
Fixtop
style prop not being conveted to rem (#7112) -
[@mantine/dates]
DateInput: FixdefaultDate
prop not working when the value is set tonull
(#4426) -
[@mantine/core]
NumberInput: Remove increment/decrement control if value cannot be safely incremented (is larger than Number.MAX_SAFE_INTEGER) (#7033) -
[@mantine/core]
NumberInput: Fix value being reverted to start value if intial component value is a string -
[@mantine/notifications]
FixNotificationData
type being too broad (#7097) -
[@mantine/core]
RingProgress: AddtransitionDuration
prop support (#7103) -
[@mantine/core]
TagsInput: Fix incorrect tag remove logic with duplicated tags (#7105) -
[@mantine/core]
Combobox: Fix incorrectaria-controls
attribute being set on the target element when the dropdown is closed (#7114)
New Contributors
- @Samy0412 made their first contribution in https://github.com/mantinedev/mantine/pull/7114
Full Changelog: https://github.com/mantinedev/mantine/compare/7.14.0...7.14.1
v7.14.0
: 💋
View changelog with demos on mantine.dev website
AngleSlider component
New AngleSlider component:
import { AngleSlider, Group } from '@​mantine/core';
function Demo() {
return (
<Group p="lg" gap={50}>
<AngleSlider
aria-label="Angle slider"
formatLabel={(value) => `${value}°`}
size={100}
restrictToMarks
marks={[
{ value: 0 },
{ value: 45 },
{ value: 90 },
{ value: 135 },
{ value: 180 },
{ value: 225 },
{ value: 270 },
{ value: 315 },
]}
/>
<AngleSlider
aria-label="Angle slider"
formatLabel={(value) => `${value}°`}
size={100}
marks={[
{ value: 0, label: '0°' },
{ value: 45, label: '45°' },
{ value: 90, label: '90°' },
{ value: 135, label: '135°' },
{ value: 180, label: '180°' },
{ value: 225, label: '225°' },
{ value: 270, label: '270°' },
{ value: 315, label: '315°' },
]}
/>
</Group>
);
}
RadialBarChart component
New RadialBarChart component:
import { RadialBarChart } from '@​mantine/charts';
const data = [
{ name: '18-24', value: 31.47, color: 'blue.7' },
{ name: '25-29', value: 26.69, color: 'orange.6' },
{ name: '30-34', value: 15.69, color: 'yellow.7' },
{ name: '35-39', value: 8.22, color: 'cyan.6' },
{ name: '40-49', value: 8.63, color: 'green' },
{ name: '50+', value: 2.63, color: 'pink' },
{ name: 'unknown', value: 6.67, color: 'gray' },
];
function Demo() {
return <RadialBarChart data={data} dataKey="value" h={280} withLabels />;
}
FunnelChart component
New FunnelChart component:
import { FunnelChart } from '@​mantine/charts';
const data = [
{ name: 'USA', value: 400, color: 'indigo.6' },
{ name: 'India', value: 300, color: 'yellow.6' },
{ name: 'Japan', value: 100, color: 'teal.6' },
{ name: 'Other', value: 200, color: 'gray.6' },
];
function Demo() {
return <FunnelChart data={data} />;
}
Modal.Stack and Drawer.Stack components
New Modal.Stack and Drawer.Stack components simplify usage of multiple modals/drawers at the same time.
Use Modal.Stack
component to render multiple modals at the same time.
Modal.Stack
keeps track of opened modals, manages z-index values, focus trapping
and closeOnEscape
behavior. Modal.Stack
is designed to be used with useModalsStack
hook.
Differences from using multiple Modal
components:
-
Modal.Stack
manages z-index values – modals that are opened later will always have higher z-index value disregarding their order in the DOM -
Modal.Stack
disables focus trap andEscape
key handling for all modals except the one that is currently opened - Modals that are not currently opened are present in the DOM but are hidden with
opacity: 0
andpointer-events: none
- Only one overlay is rendered at a time
import { Button, Group, Modal, useModalsStack } from '@​mantine/core';
function Demo() {
const stack = useModalsStack(['delete-page', 'confirm-action', 'really-confirm-action']);
return (
<>
<Modal.Stack>
<Modal {...stack.register('delete-page')} title="Delete this page?">
Are you sure you want to delete this page? This action cannot be undone.
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={() => stack.open('confirm-action')} color="red">
Delete
</Button>
</Group>
</Modal>
<Modal {...stack.register('confirm-action')} title="Confirm action">
Are you sure you want to perform this action? This action cannot be undone. If you are
sure, press confirm button below.
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={() => stack.open('really-confirm-action')} color="red">
Confirm
</Button>
</Group>
</Modal>
<Modal {...stack.register('really-confirm-action')} title="Really confirm action">
Jokes aside. You have confirmed this action. This is your last chance to cancel it. After
you press confirm button below, action will be performed and cannot be undone. For real
this time. Are you sure you want to proceed?
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={stack.closeAll} color="red">
Confirm
</Button>
</Group>
</Modal>
</Modal.Stack>
<Button onClick={() => stack.open('delete-page')}>Open modal</Button>
</>
);
}
useModalsStack/useDrawersStack hooks
useModalsStack
hook provides an easy way to control multiple modals at the same time.
It accepts an array of unique modals ids and returns an object with the following properties:
interface ModalStackReturnType<T extends string> {
// Current opened state of each modal
state: Record<T, boolean>;
// Opens modal with the given id
open: (id: T) => void;
// Closes modal with the given id
close: (id: T) => void;
// Toggles modal with the given id
toggle: (id: T) => void;
// Closes all modals within the stack
closeAll: () => void;
// Returns props for modal with the given id
register: (id: T) => {
opened: boolean;
onClose: () => void;
stackId: T;
};
}
Example of using useModalsStack
with Modal
component:
import { Modal, useModalsStack } from '@​mantine/core';
function Demo() {
const stack = useModalsStack(['first', 'second']);
return (
<>
<Modal {...stack.register('first')}>First</Modal>
<Modal {...stack.register('second')}>Second</Modal>
<Button onClick={() => stack.open('first')}>Open first</Button>
</>
);
}
Restrict Slider selection to marks
Slider component now supports restrictToMarks
prop that restricts slider value to marks only.
Note that in this case step
prop is ignored:
import { Slider } from '@​mantine/core';
function Demo() {
return (
<Slider
restrictToMarks
defaultValue={25}
marks={Array.from({ length: 5 }).map((_, index) => ({ value: index * 25 }))}
/>
);
}
BarChart SVG pattern fill
BarChart now can be used with SVG pattern fill:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={mixedStackData}
dataKey="month"
series={[
{ name: 'Smartphones', color: 'url(#crosshatch)', stackId: 'a' },
{ name: 'Laptops', color: 'blue.6', stackId: 'b' },
{ name: 'Tablets', color: 'url(#diagonalStripes)', stackId: 'b' },
]}
>
<defs>
<pattern
id="diagonalStripes"
patternUnits="userSpaceOnUse"
width={6}
height={8}
patternTransform="rotate(45)"
>
<rect
width="2"
height="8"
transform="translate(0,0)"
fill="color-mix(in lch, var(--mantine-color-teal-6) 70%, rgba(0,0,0,0))"
/>
</pattern>
<pattern id="crosshatch" patternUnits="userSpaceOnUse" width={8} height={8}>
<path
d="M 0 0 L 8 0 L 8 8 L 0 8 Z"
fill="none"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
<path
d="M 0 0 L 8 8"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
<path
d="M 8 0 L 0 8"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
</pattern>
</defs>
</BarChart>
);
}
Help center updates
- New Can I use nested inline styles with Mantine components? question
- New Can I use PostCSS function in inline styles? question
- New Why my Carousel slides are in vertical orientation? question
- New My buttons are transparent and the background is visible only on hover, what is wrong? question
- New Can I have different primary color for light and dark color schemes? question
- New How can I change body background color? question
- New My Popover dropdown closes when I click on the dropdown of nested Popover question
Other changes
-
useTree hook now accepts
onNodeExpand
andonNodeCollapse
callbacks -
useTree hook now returns additional
checkAllNodes
,uncheckAllNodes
andsetCheckedState
handlers -
Tree component now includes
getTreeExpandedState
to generate expanded state based on the tree data -
use-form now supports
form.replaceListItem
handler to replace list item at given index
v7.13.5
What's Changed
-
[@mantine/core]
Update peer dependencies range for react to allow react and react-dom 19 as dependcy -
[@mantine/core]
Fix error in Next.js with React 19 related to ref prop usage in Tooltip, Popover and Combobox components (#7028) -
[@mantine/core]
FileButton: FixresetRef
throwing error if the component is contidionally rendered (#7025) -
[@mantine/core]
Button: Fix incorrect focus styles of Button.Group (#6992) -
[@mantine/charts]
CompositeCharts: Fix missingkey
prop error (#7020) -
[@mantine/core]
NumberInput: Fixmin
/max
value being bypassed if0
has been entered as the first digit (#7021) -
[@mantine/form]
Add useCallback wrapper toform.resetDirty
(#7029) -
[@mantine/core]
Combobox: Fix incorrect logic of selected options when the dropdown is closed without selecting value (#7039) -
[@mantine/charts]
BarChart: AddbarLabelColor
prop support -
[@mantine/charts]
BarChart: Fix bar label being positioned incorrectly with horizontal orientation (#7042) -
[@mantine/charts]
RadarChart: Fix incorrect series prop type (#7046) -
[@mantine/form]
Add additional type exports from the package (#7062) -
[@mantine/core]
Tabs: FixtabIndex
not being overridden by Tabs.Tab props (#7081) -
[@mantine/dates]
DatePickerInput: FixnextLabel
andpreviousLabel
props not being handled correctly (#7082) -
[@mantine/charts]
Update recharts dependency to the latest version to improve Next.js 15 and React 19 support
New Contributors
- @pfo-omicsstudio made their first contribution in https://github.com/mantinedev/mantine/pull/7062
- @zaphire12 made their first contribution in https://github.com/mantinedev/mantine/pull/7046
- @fsd-niraj made their first contribution in https://github.com/mantinedev/mantine/pull/7042
- @MariaBanaszkiewicz made their first contribution in https://github.com/mantinedev/mantine/pull/7039
- @anthony-dandrea made their first contribution in https://github.com/mantinedev/mantine/pull/7029
- @owenmoogk made their first contribution in https://github.com/mantinedev/mantine/pull/7021
- @mariakax3 made their first contribution in https://github.com/mantinedev/mantine/pull/7020
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.4...7.13.5
v7.13.4
Next.js 15 support
The documentation and templates have been updated to support Next.js 15 release, for more information visit – https://mantine.dev/guides/next/
Other changes
-
[@mantine/dates]
DatePickerInput: Fix dropdown staying opened after thedisabled
prop has been set (#7017) -
[@mantine/core]
NumberInput: Fix incorrect ref node type -
[@mantine/core]
Popover: FixonClose
event firing incorrectly
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.3...7.13.4
v7.13.3
What's Changed
-
[@mantine/core]
Fix cqw, cqh, cqi, cqb, cqmax and cqmin size units not being handled correctly in style props -
[@mantine/dates]
DateTimePicker: RemovedefaultValue
andvalue
props fromtimeInputProps
types to avoid confusion (#6959) -
[@mantine/dropzone]
Setdata-disabled
attribute on the root element ifdisabled
prop is set (#6946) -
[@mantine/core]
Modal: Fix default Modal.Root transition being different from Modal component (#6967) -
[@mantine/core]
ColorInput: FixpopoverProps={{ opned: true }}
not working (#6968) -
[@mantine/charts]
FixvalueFormatter
prop not working correctly withorientation="vertical"
in BarChart, AreaChart and LineChart components (#6979) -
[@mantine/core]
Popover: FixonOpen
not being called with controlledopened
state (#6981) -
[@mantine/core]
NumberInput: Fix incorrectmin
prop handling for large numbers (#6985) -
[@mantine/dropzone]
Add HEIF image mime type (#6977) -
[@mantine/core]
PasswordInput: Fix cursor shifting when the visibility button is clicked on touch devices (#6971)
New Contributors
- @eungyeole made their first contribution in https://github.com/mantinedev/mantine/pull/6957
- @thaynam made their first contribution in https://github.com/mantinedev/mantine/pull/6977
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.2...7.13.3
v7.13.2
What's Changed
-
[@mantine/dates]
DateInput: FixonClick
handler passed togetDayProps
not being called -
[@mantine/core]
Badge: Fix incorrect cursor styles -
[@mantine/core]
FileInput: AddresetRef
prop support -
[@mantine/core]
Popover: FixonClose
function being called twice with controlled state -
[@mantine/spotlight]
Fix selected index not being reset when the spotlight is closed (#6842) -
[@mantine/core]
Popover: Improve performance of scrolling when large number of closed Popovers are rendered on the same page (#6771) -
[@mantine/core]
Pagination: FixgetItemProps
not being able to override controlchildren
prop (#6789) -
[@mantine/core]
ScrollArea: FixonBottomReached
not being called if the viewport has decimal px height value (#6792) -
[@mantine/hooks]
use-in-viewport: Fix hook not reacting to node changes (#6926) -
[@mantine/core]
NumberInput: Fix incorrect handling of decimal numbers with more than 15 decimal places (#6823) -
[@mantine/core]
Slider: Fix marks not being aligned correctly (#6909) -
[@mantine/hooks]
use-fullscreen: Fix target node changes being ignored (#6923) -
[@mantine/core]
Badge: Fix incorrect sections alignment forvariant="dot"
-
[@mantine/core]
TagsInput: Fix incorrect logic of removing duplicate tags (#6922) -
[@mantine/core]
AppShell: Fix error when Suspense is rendered inside AppShell (#6927) -
[@mantine/core]
Menu: FixonKeyDown
prop not working in Menu.Dropdown component (#6910)
New Contributors
- @RabeeAbuBaker made their first contribution in https://github.com/mantinedev/mantine/pull/6927
- @linspw made their first contribution in https://github.com/mantinedev/mantine/pull/6923
- @fellmann made their first contribution in https://github.com/mantinedev/mantine/pull/6926
- @maclementED made their first contribution in https://github.com/mantinedev/mantine/pull/6842
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.1...7.13.2
v7.13.1
What's Changed
-
[@mantine/chart]
PieChart: Remove unused CSS (#6903) -
[@mantine/core]
Menu: FixonKeyDown
not working when passed to Menu.Item (#6906) -
[@mantine/core]
TagsInput: Fix duplicated tags being deleted when one of tags with the same value is deleted (#6907) -
[@mantine/dates]
Fix hidden input value not respecting specified timezone (#6881) -
[@mantine/hooks]
use-hover: Fix events not being reattached when the target node changes (#6782) -
[@mantine/colors-generator]
Update chroma-js version to support the latest version (#6879) -
[@mantine/core]
PinInput: Fix incorrectBackspace
key handling on the first input (#6880) -
[@mantine/hooks]
use-state-history: Addreset
handler support (#6769) -
[@mantine/core]
ScrollArea: FixonTopReached
prop not being passed down in ScrollArea.Autosize component (#6747) -
[@mantine/chart]
Fix incorrect types for props passed down to recharts components (#6820) -
[@mantine/form]
Fix indices over 9 not working in form paths in some cases (#6794) -
[@mantine/chart]
BarChart: Fix BarLabel logging errors in the console (#6810) -
[@mantine/chart]
Fix error when chart tooltip label contains period (#6826) -
[@mantine/core]
Title: Add option to use Text font-size and line-height values withsize
prop (#6833) -
[@mantine/date]
Calendar: FixnextLabel
andpreviousLabel
props not working (#6847) -
[@mantine/core]
Fix2xl
and other similar values being treated as CSS value instead of theme value (#6855) -
[@mantine/core]
Breadcrumbs: Fix component with large number of values not wrapping on small screens (#6863) -
[@mantine/core]
Table: Fix thead being overlayed to td in some cases (#6860)
New Contributors
- @ozantekin made their first contribution in https://github.com/mantinedev/mantine/pull/6863
- @Vakarva made their first contribution in https://github.com/mantinedev/mantine/pull/6811
- @zrll12 made their first contribution in https://github.com/mantinedev/mantine/pull/6747
- @AdhamMoussa made their first contribution in https://github.com/mantinedev/mantine/pull/6769
- @GZTimeWalker made their first contribution in https://github.com/mantinedev/mantine/pull/6879
- @max-degterev made their first contribution in https://github.com/mantinedev/mantine/pull/6782
- @ctdunc made their first contribution in https://github.com/mantinedev/mantine/pull/6907
Full Changelog: https://github.com/mantinedev/mantine/compare/7.13.0...7.13.1
v7.13.0
: 🎇
View changelog with demos on mantine.dev website
Container queries support in Grid
You can now use container queries in Grid component. With container queries, all responsive values are adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { Grid } from '@​mantine/core';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// it is not required in real projects
<div style={{ resize: 'horizontal', overflow: 'hidden', maxWidth: '100%' }}>
<Grid
type="container"
breakpoints={{ xs: '100px', sm: '200px', md: '300px', lg: '400px', xl: '500px' }}
>
<Col span={{ base: 12, md: 6, lg: 3 }}>1</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>2</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>3</Col>
<Col span={{ base: 12, md: 6, lg: 3 }}>4</Col>
</Grid>
</div>
);
}
CompositeChart component
New CompositeChart component allows using Line
, Area
and Bar
charts together in a single chart:
import { CompositeChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<CompositeChart
h={300}
data={data}
dataKey="date"
unit="$"
maxBarWidth={30}
series={[
{ name: 'Tomatoes', color: 'rgba(18, 120, 255, 0.2)', type: 'bar' },
{ name: 'Apples', color: 'red.8', type: 'line' },
{ name: 'Oranges', color: 'yellow.8', type: 'area' },
]}
/>
);
}
Points labels
LineChart and AreaChart now support withPointLabels
prop to display labels on data points:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
dataKey="date"
withLegend
withPointLabels
series={[
{ name: 'Apples', color: 'indigo.6' },
{ name: 'Oranges', color: 'blue.6' },
]}
/>
);
}
ScatterChart also supports point labels, but also allows to control which axis should display labels with pointLabels
prop:
import { ScatterChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<ScatterChart
h={350}
data={data}
dataKey={{ x: 'age', y: 'BMI' }}
xAxisLabel="Age"
yAxisLabel="BMI"
pointLabels="x"
/>
);
}
BarChart: Mixed stacks
You can now control how BarChart series are stacked by setting stackId
property in series object:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
series={[
{ name: 'Smartphones', color: 'violet.6', stackId: 'a' },
{ name: 'Laptops', color: 'blue.6', stackId: 'b' },
{ name: 'Tablets', color: 'teal.6', stackId: 'b' },
]}
/>
);
}
BarChart: Minimum bar size
BarChart now supports minBarSize
prop to set the minimum size of the bar in px:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
withLegend
series={[
{ name: 'Smartphones', color: 'violet.6' },
{ name: 'Laptops', color: 'blue.6' },
{ name: 'Tablets', color: 'teal.6' },
]}
/>
);
}
Help Center updates
- New How to integrate custom input with use-form hook? question
- New Can I remove MultiSelect placeholder when the component has selected values? question
- New How can I load fonts in Remix? question
- New My styles are overridden by Mantine components styles, what should I do? question
- New Why I cannot use one polymorphic component in component prop of another polymorphic component? question
- New Can I use an array of strings as a list in use-form? question
Other changes
- New demo has been added to Chip component with an example of how to deselect radio chip
-
BarChart now supports
maxBarWidth
prop to set the maximum width of each bar in px
v7.12.2
What's Changed
-
[@mantine/hooks]
use-idle: Fix idle countdown not starting if the user did non interact with the page (#6683) -
[@mantine/core]
ScrollArea: FixonBottomReached
prop not being available inScrollArea.Autosize
component -
[@mantine/core]
Removechildren
from Checkbox, Radio and Switch types to avoid accidental errors -
[@mantine/core]
TypographyStylesProvider: Fix incorrect table styles in dark color scheme -
[@mantine/form]
Fix error thrown for nullable values dirty status check (#6672) -
[@mantine/core]
Badge: Fix unexpected change to block layout, fix incorrect alignment when fixed width is set (#6698, #6680) -
[@mantine/core]
ScrollArea: Fix pointer-events being left asnone
after interaction with scrollbar (#6681) -
[@mantine/core]
Tabs: FixkeepMounted
prop being added as attribute toTabs.Panel
DOM element (#6711) -
[@mantine/core]
Tree: AddinitialCheckedState
support (#6697) -
[@mantine/spotlight]
FixSpotlightRoot
component not being exported (#6710) -
[@mantine/dropzone]
Add7z
andrar
mime types exports (#6702) -
[@mantine/dates]
DatePickerInput: Fix incorrect hovered date logic when the component receives value update with partial selected date range (#6718) -
[@mantine/dates]
FixvalueFormatter
prop being added to DateTimePicker types -
[@mantine/core]
Badge: Fix right/left sections height affecting the alignment of the label -
[@mantine/core]
Menu: Fix accessibility warning in devtools when the Menu is opened (#6644)
New Contributors
- @timesince made their first contribution in https://github.com/mantinedev/mantine/pull/6654
- @tokyojack made their first contribution in https://github.com/mantinedev/mantine/pull/6718
- @Streusel made their first contribution in https://github.com/mantinedev/mantine/pull/6702
- @fredgig made their first contribution in https://github.com/mantinedev/mantine/pull/6697
- @chimericdream made their first contribution in https://github.com/mantinedev/mantine/pull/6683
- @Aybrea made their first contribution in https://github.com/mantinedev/mantine/pull/6724
Full Changelog: https://github.com/mantinedev/mantine/compare/7.12.1...7.12.2
v7.12.1
What's Changed
-
[@mantine/dates]
DateInput: Fix default date being set to the current date whenminDate
is set to the future (#6646) -
[@mantine/core]
ScrollArea: Fix incorrect thumb::before styles -
[@mantine/core]
Fix incorrect active styles of buttons used inside disabled fieldset -
[@mantine/form]
Fixform.watch
callbacks not being fired whenform.initialize
is called (#6639) -
[@mantine/core]
Switch: Fix Switch shrinking when large label or description is used (#6531) -
[@mantine/core]
Combobox: FixCombobox.Search
overflow whenScrollArea
is used in the dropdown (#6562) -
[@mantine/core]
Accordion: Add missingwithProps
function (#6564) -
[@mantine/core]
Pill: Fix remove icon overflowing pill container if its background color was changed with Styles API (#6565) -
[@mantine/core]
PinInput: Allow passing props to individual input elements depending on index withgetInputProps
(#6588) -
[@mantine/charts]
: Fix LineChart Legend and Tooltip to support nested names (#6536) -
[@mantine/core]
Tooltip: Add missingTooltip.Group.extend
function (#6576) -
[@mantine/spotlight]
Fixlimit
prop not working correctly with actions groups (#6632) -
[@mantine/core]
Badge: Fix text overflow not being handled correctly (#6629) -
[@mantine/core]
SegmentedControl: Adddata-disabled
attribute to the root element to simplify styling with Styles API (#6625) -
[@mantine/core]
SegmentedControl: Fix initial position of indicator being broken when the component is used inside other element that has transitions on mount (#6622) -
[@mantine/core]
TagsInput: FixonKeyDown
prop not working (#6569) -
[@mantine/charts]
PieChart: FixvalueFormatter
not working on outside labels (#6616) -
[@mantine/core]
Popover: Fixapply
function ofsize
middleware not being handled correctly (#6598) -
[@mantine/core]
Chip: Fix incorrect checked padding forsize="xl"
(#6586) -
[@mantine/dates]
TimeInput: Fix incorrect focus styles of am/pm input (#6579) -
[@mantine/hook]
use-os: Fix incorrect iPadOS detection (#6535) -
[@mantine/core]
DatePickerInput: Fix incorrectaria-label
being set on the input element (#6530) -
[@mantine/core]
Menu: Fix incorrect Escape key handling inside Modal (#6580)
New Contributors
- @vorant94 made their first contribution in https://github.com/mantinedev/mantine/pull/6530
- @hajimism made their first contribution in https://github.com/mantinedev/mantine/pull/6539
- @ziimakc made their first contribution in https://github.com/mantinedev/mantine/pull/6561
- @th3fallen made their first contribution in https://github.com/mantinedev/mantine/pull/6579
- @david-szabo97 made their first contribution in https://github.com/mantinedev/mantine/pull/6586
- @bastiankistner made their first contribution in https://github.com/mantinedev/mantine/pull/6607
- @inx-fldu made their first contribution in https://github.com/mantinedev/mantine/pull/6569
- @michaelperros made their first contribution in https://github.com/mantinedev/mantine/pull/6622
- @risen228 made their first contribution in https://github.com/mantinedev/mantine/pull/6625
- @ddoemonn made their first contribution in https://github.com/mantinedev/mantine/pull/6629
- @yorkeJohn made their first contribution in https://github.com/mantinedev/mantine/pull/6632
- @raulfpl made their first contribution in https://github.com/mantinedev/mantine/pull/6639
- @uriFrischman made their first contribution in https://github.com/mantinedev/mantine/pull/6645
Full Changelog: https://github.com/mantinedev/mantine/compare/7.12.0...7.12.1
v7.12.0
: 🌟
View changelog with demos on mantine.dev website
Notifications at any position
It is now possible to display notifications at any position on the screen with @mantine/notifications package:
import { Button } from '@​mantine/core';
import { notifications } from '@​mantine/notifications';
const positions = [
'top-left',
'top-right',
'bottom-left',
'bottom-right',
'top-center',
'bottom-center',
] as const;
function Demo() {
const buttons = positions.map((position) => (
<Button
key={position}
onClick={() =>
notifications.show({
title: `Notification at ${position}`,
message: `Notification at ${position} message`,
position,
})
}
>
{position}
</Button>
));
return <Group>{buttons}</Group>;
}
Subscribe to notifications state
You can now subscribe to notifications state changes with useNotifications
hook:
function Demo() {
const [counter, { increment }] = useCounter();
const notificationsStore = useNotifications();
const showNotification = () => {
notifications.show({
title: `Notification ${counter}`,
message: 'Most notifications are added to queue',
});
increment();
};
return (
<>
<Button onClick={showNotification} mb="md">
Show notification
</Button>
<Text>Notifications state</Text>
<Code block>{JSON.stringify(notificationsStore.notifications, null, 2)}</Code>
<Text mt="md">Notifications queue</Text>
<Code block>{JSON.stringify(notificationsStore.queue, null, 2)}</Code>
</>
);
}
SemiCircleProgress component
New SemiCircleProgress component:
import { SemiCircleProgress } from '@​mantine/core';
function Demo() {
return (
<SemiCircleProgress
fillDirection="left-to-right"
orientation="up"
filledSegmentColor="blue"
size={200}
thickness={12}
value={40}
label="Label"
/>
);
}
Tree checked state
Tree component now supports checked state:
import { IconChevronDown } from '@​tabler/icons-react';
import { Checkbox, Group, RenderTreeNodePayload, Tree } from '@​mantine/core';
import { data } from './data';
const renderTreeNode = ({
node,
expanded,
hasChildren,
elementProps,
tree,
}: RenderTreeNodePayload) => {
const checked = tree.isNodeChecked(node.value);
const indeterminate = tree.isNodeIndeterminate(node.value);
return (
<Group gap="xs" {...elementProps}>
<Checkbox.Indicator
checked={checked}
indeterminate={indeterminate}
onClick={() => (!checked ? tree.checkNode(node.value) : tree.uncheckNode(node.value))}
/>
<Group gap={5} onClick={() => tree.toggleExpanded(node.value)}>
<span>{node.label}</span>
{hasChildren && (
<IconChevronDown
size={14}
style={{ transform: expanded ? 'rotate(180deg)' : 'rotate(0deg)' }}
/>
)}
</Group>
</Group>
);
};
function Demo() {
return <Tree data={data} levelOffset={23} expandOnClick={false} renderNode={renderTreeNode} />;
}
Disable specific features in postcss-preset-mantine
You can now disable specific features of the postcss-preset-mantine
by setting them to false
in the configuration object. This feature is available starting from
postcss-preset-mantine@1.17.0
.
module.exports = {
'postcss-preset-mantine': {
features: {
// Turn off `light-dark` function
lightDarkFunction: false,
// Turn off `postcss-nested` plugin
nested: false,
// Turn off `lighten`, `darken` and `alpha` functions
colorMixAlpha: false,
// Turn off `rem` and `em` functions
remEmFunctions: false,
// Turn off `postcss-mixins` plugin
mixins: false,
},
},
};
Help Center updates
-
Server components guide has been updated to include
Component.extend
usage in server components. -
A guide on applying input focus styles has been updated to work correctly with PasswordInput and other components in which the
input
selector is not used for actual input element. - The guide on how to disable all inputs in the form now includes additional instructions for use-form.
- New Can I have color schemes other than light and dark? guide explains the difference between color scheme and theme and why Mantine does not support custom color schemes.
- New Why VSCode cannot autoimport Text component? guide explains why VSCode cannot automatically import
Text
component. - New Are Mantine components accessible? question
- New How can I focus the first input with error with use-form? question
- New How to scroll to the top of the form if the form is submitted with errors? question
- New Why my notifications are displayed at a wrong position? question
- New Why my screen is completely empty after I've added notifications package? question
- New Why can I not use value/label data structure with Autocomplete/TagsInput? question
- New Why FileButton does not work in Menu? question
- New How can I display different elements in light and dark color schemes? question
Other changes
-
use-interval hook now supports
autoInvoke
option to start the interval automatically when the component mounts. -
use-form with
mode="uncontrolled"
now triggers additional rerender when dirty state changes to allow subscribing to form state changes. -
ScrollArea component now supports
onTopReached
andonBottomReached
props. The functions are called when the user scrolls to the top or bottom of the scroll area. -
Accordion.Panel component now supports
onTransitionEnd
prop that is called when the panel animation completes.
v7.11.2
What's Changed
-
[@mantine/core]
Combobox: Fix inconsistent horizontal dropdown padding -
[@mantine/core]
Drawer: Fix content overflowing horizontally on mobile whenoffset
is set -
[@mantine/core]
Drawer: Fix double scrollbar appearing whenoffset
andscrollAreaComponent
props are set -
[@mantine/carousel]
Fix responsiveslideSize
values working differently from other style props -
[@mantine/hooks]
use-interval: AddautoInvoke
option support -
[@mantine/hooks]
use-interval: Fix updates to the function and interval timeout being ignored -
[@mantine/core]
Anchor: FixlineClamp
prop not working -
[@mantine/core]
Anchor: Fix text-decoration styles being inconsistent withvariant="gradient"
-
[@mantine/dates]
DateInput: Fix value flickering with custom timezone (#6517) -
[@mantine/core]
Burger: FixlineSize
being passed to the DOM node (#6520) -
[@mantine/charts]
Add support for nested properties indataKey
(#5886) -
[@mantine/core]
Fix Modal/Drawer headers overlaying custom scrollbar (#6175) -
[@mantine/charts]
Sparkline: Fix incorrectdata
prop type (#6352) -
[@mantine/charts]
FixstrokeColor
prop being passed to the DOM element (#6507) -
[@mantine/core]
FocusTrap: Improve compatibility with React 19 (#6492) -
[@mantine/hooks]
use-os: Fix iOS being reported as MacOS in several cases (#6511) -
[@mantine/emotion]
Fix incorrect types ofcreateStyles
classes (#6490) -
[@mantine/core]
Tooltip: FixfloatingStrategy="fixed"
not working (#6502)
New Contributors
- @lwkchan made their first contribution in https://github.com/mantinedev/mantine/pull/6502
- @Sergio16T made their first contribution in https://github.com/mantinedev/mantine/pull/6517
Full Changelog: https://github.com/mantinedev/mantine/compare/7.11.1...7.11.2
v7.11.1
What's Changed
-
[@mantine/core]
Add option to displaynothingFoundMessage
when data is empty in Select and MultiSelect components (#6477) -
[@mantine/core]
Tooltip: AdddefaultOpened
prop support (#6466) -
[@mantine/core]
PinInput: Fix incorrect rtl logic (#6382) -
[@mantine/core]
Popover: FixfloatingStrategy="fixed"
not havingposition:fixed
styles (#6419) -
[@mantine/spotlight]
Fix spotlight not working correctly with shadow DOM (#6400) -
[@mantine/form]
FixonValuesChange
using stale values (#6392) -
[@mantine/carousel]
FixonSlideChange
using stale props values (#6393) -
[@mantine/charts]
Fix unexpected padding on the right side of the chart in BarChart, AreaChart and LineChart components (#6467) -
[@mantine/core]
Select: FixonChange
being called with the already selected if it has been picked from the dropdown (#6468) -
[@mantine/dates]
DatePickerInput: FixhighlightToday
not working (#6471) -
[@mantine/core]
NumberInput: Fix incorrect handling of numbers larger than max safe integer on blur (#6407) -
[@mantine/core]
Tooltip: Fix tooltip arrow being incompatible with headless mode (#6458) -
[@mantine/core]
ActionIcon: Fix loading styles inconsistency with Button component (#6460) -
[@mantine/charts]
PieChart: Fix key error for duplicatedname
data (#6067) -
[@mantine/core]
Modal: FixremoveScrollProps.ref
not being compatible with React 19 (#6446) -
[@mantine/core]
TagsInput: FixselectFirstOptionOnChange
prop not working (#6337) -
[@mantine/hooks]
use-eye-dropper: Fix Opera being incorrectly detected as a supported browser (#6307) -
[@mantine/core]
Fix:host
selector now working correctly incssVariablesSelector
of MantineProvider (#6404) -
[@mantine/core]
TagsInput: FixonChange
being called twice when Enter key is pressed in some cases (#6416) -
[@mantine/modals]
Fix Modal overrides type augmentation not working with TypeScript 5.5 (#6443) -
[@mantine/core]
Tree: FixlevelOffset
prop being added to the root DOM element (#6461)
New Contributors
- @bsl-zcs made their first contribution in https://github.com/mantinedev/mantine/pull/6461
- @florisdg made their first contribution in https://github.com/mantinedev/mantine/pull/6443
- @snlacks made their first contribution in https://github.com/mantinedev/mantine/pull/6425
- @lid0a made their first contribution in https://github.com/mantinedev/mantine/pull/6415
- @Knamer95 made their first contribution in https://github.com/mantinedev/mantine/pull/6416
- @yyytae0 made their first contribution in https://github.com/mantinedev/mantine/pull/6404
- @toanxyz made their first contribution in https://github.com/mantinedev/mantine/pull/6388
- @viktorkasap made their first contribution in https://github.com/mantinedev/mantine/pull/6307
- @alexlapp made their first contribution in https://github.com/mantinedev/mantine/pull/6337
- @brycefranzen made their first contribution in https://github.com/mantinedev/mantine/pull/6446
- @marcobiedermann made their first contribution in https://github.com/mantinedev/mantine/pull/6442
- @mullwar made their first contribution in https://github.com/mantinedev/mantine/pull/6067
- @gruschis made their first contribution in https://github.com/mantinedev/mantine/pull/6400
- @jpranays made their first contribution in https://github.com/mantinedev/mantine/pull/6466
Full Changelog: https://github.com/mantinedev/mantine/compare/7.11.0...7.11.1
v7.11.0
: 👁️
View changelog with demos on mantine.dev website
withProps function
All Mantine components now have withProps
static function that can be used to
add default props to the component:
import { IMaskInput } from 'react-imask';
import { Button, InputBase } from '@​mantine/core';
const LinkButton = Button.withProps({
component: 'a',
target: '_blank',
rel: 'noreferrer',
variant: 'subtle',
});
const PhoneInput = InputBase.withProps({
mask: '+7 (000) 000-0000',
component: IMaskInput,
label: 'Your phone number',
placeholder: 'Your phone number',
});
function Demo() {
return (
<>
{/* You can pass additional props to components created with `withProps` */}
<LinkButton href="https://mantine.dev">Mantine website</LinkButton>
{/* Component props override default props defined in `withProps` */}
<PhoneInput placeholder="Personal phone" />
</>
);
}
Avatar initials
Avatar component now supports displaying initials with auto generated color based on the given name
value.
To display initials instead of the default placeholder, set name
prop
to the name of the person, for example, name="John Doe"
. If the name
is set, you can use color="initials"
to generate color based on the name:
import { Avatar, Group } from '@​mantine/core';
const names = [
'John Doe',
'Jane Mol',
'Alex Lump',
'Sarah Condor',
'Mike Johnson',
'Kate Kok',
'Tom Smith',
];
function Demo() {
const avatars = names.map((name) => <Avatar key={name} name={name} color="initials" />);
return <Group>{avatars}</Group>;
}
BubbleChart component
New BubbleChart component:
import { BubbleChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BubbleChart
h={60}
data={data}
range={[16, 225]}
label="Sales/hour"
color="lime.6"
dataKey={{ x: 'hour', y: 'index', z: 'value' }}
/>
);
}
BarChart waterfall type
BarChart component now supports waterfall
type
which is useful for visualizing changes in values over time:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="item"
type="waterfall"
series={[{ name: 'Effective tax rate in %', color: 'blue' }]}
withLegend
/>
);
}
LineChart gradient type
LineChart component now supports gradient
type
which renders line chart with gradient fill:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
series={[{ name: 'temperature', label: 'Avg. Temperature' }]}
dataKey="date"
type="gradient"
gradientStops={[
{ offset: 0, color: 'red.6' },
{ offset: 20, color: 'orange.6' },
{ offset: 40, color: 'yellow.5' },
{ offset: 70, color: 'lime.5' },
{ offset: 80, color: 'cyan.5' },
{ offset: 100, color: 'blue.5' },
]}
strokeWidth={5}
curveType="natural"
yAxisProps={{ domain: [-25, 40] }}
valueFormatter={(value) => `${value}°C`}
/>
);
}
Right Y axis
LineChart, BarChart and AreaChart components
now support rightYAxis
prop which renders additional Y axis on the right side of the chart:
import { LineChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<LineChart
h={300}
data={data}
dataKey="name"
withRightYAxis
yAxisLabel="uv"
rightYAxisLabel="pv"
series={[
{ name: 'uv', color: 'pink.6' },
{ name: 'pv', color: 'cyan.6', yAxisId: 'right' },
]}
/>
);
}
RadarChart legend
RadarChart component now supports legend:
import { RadarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<RadarChart
h={300}
data={data}
dataKey="product"
withPolarRadiusAxis
withLegend
series={[
{ name: 'Sales January', color: 'blue.6', opacity: 0.2 },
{ name: 'Sales February', color: 'orange.6', opacity: 0.2 },
]}
/>
);
}
TagsInput acceptValueOnBlur
TagsInput component behavior has been changed. Now By default,
if the user types in a value and blurs the input, the value is added to the list.
You can change this behavior by setting acceptValueOnBlur
to false
. In this case, the value is added
only when the user presses Enter
or clicks on a suggestion.
import { TagsInput } from '@​mantine/core';
function Demo() {
return (
<>
<TagsInput
label="Value IS accepted on blur"
placeholder="Enter text, then blur the field"
data={['React', 'Angular', 'Svelte']}
acceptValueOnBlur
/>
<TagsInput
label="Value IS NOT accepted on blur"
placeholder="Enter text, then blur the field"
data={['React', 'Angular', 'Svelte']}
acceptValueOnBlur={false}
mt="md"
/>
</>
);
}
Transition delay
Transition component now supports enterDelay
and exitDelay
props to delay transition start:
import { useState } from 'react';
import { Button, Flex, Paper, Transition } from '@​mantine/core';
export function Demo() {
const [opened, setOpened] = useState(false);
return (
<Flex maw={200} pos="relative" justify="center" m="auto">
<Button onClick={() => setOpened(true)}>Open dropdown</Button>
<Transition mounted={opened} transition="pop" enterDelay={500} exitDelay={300}>
{(transitionStyle) => (
<Paper
shadow="md"
p="xl"
h={120}
pos="absolute"
inset={0}
bottom="auto"
onClick={() => setOpened(false)}
style={{ ...transitionStyle, zIndex: 1 }}
>
Click to close
</Paper>
)}
</Transition>
</Flex>
);
}
Documentation updates
- New segmented progress example has been added to
Progress
component documentation - Select, TagsInput and MultiSelect components documentation now includes additional demo on how to change the dropdown width
- New DatePicker example for
excludeDate
prop
Other changes
-
Pagination component now supports
hideWithOnePage
prop which hides pagination when there is only one page -
Spoiler component now supports controlled expanded state with
expanded
andonExpandedChange
props -
Burger component now supports
lineSize
prop to change lines height -
Calendar, DatePicker and other similar components now support
highlightToday
prop to highlight today's date
v7.10.2
What's Changed
-
[@mantine/core]
Select: Fix incorrect state changes handling when bothvalue
andsearchValue
are controlled (#6272) -
[@mantine/core]
Stepper: FixautoContrast
prop being added to the DOM element -
[@mantine/charts]
PieChart: Fix inner label not using formatted value (#6328) -
[@mantine/core]
Fix incorrect color resolving logic in border style prop resolver (#6326) -
[@mantine/modals]
Fix incorrect styles of the confirmation modal when it is used without any description (#6325) -
[@mantine/core]
ScrollArea: Fix click events being triggered when scrollbar drag is released over an interactive element in Firefox (#6354) -
[@mantine/core]
Combobox: Fix clicks on footer and header triggering dropdown close (#6344) -
[@mantine/core]
PasswordInput: FixwithErrorStyles
prop being passed to the DOM element (#6348)
New Contributors
- @stefanzmf made their first contribution in https://github.com/mantinedev/mantine/pull/6344
- @Prasiddha22 made their first contribution in https://github.com/mantinedev/mantine/pull/6325
- @ShionTerunaga made their first contribution in https://github.com/mantinedev/mantine/pull/6332
- @djdduty made their first contribution in https://github.com/mantinedev/mantine/pull/6326
- @Jones-Griffin made their first contribution in https://github.com/mantinedev/mantine/pull/6328
- @floriankapaun made their first contribution in https://github.com/mantinedev/mantine/pull/6272
Full Changelog: https://github.com/mantinedev/mantine/compare/7.10.1...7.10.2
v7.10.1
What's Changed
-
[@mantine/charts]
BarChart: Add waterfall type (#6231) -
[@mantine/form]
Fixform.setFieldError
called insideform.onSubmit
not working correctly in some cases (#6101) -
[@mantine/core]
SegmentedControl: Fix false error reported by React 18.3+ for incorrect key prop usage -
[@mantine/hooks]
use-fetch: Fix incorrect error handling (#6278) -
[@mantine/core]
Fixbd
style prop not being applied in some components (#6282) -
[@mantine/core]
NumberInput: Fix incorrect leading zeros handling (#6232) -
[@mantine/core]
NumberInput: Fix incorrect logic while editing decimal values (#6232) -
[@mantine/core]
ScrollArea: Fix scrollbar flickering on reveal with hover and scroll types (#6218) -
[@mantine/hooks]
Update use-throttled-* hooks to emit updates on trailing edges (#6257) -
[@mantine/core]
Input: AddinputSize
prop to setsize
html attribute on the input element
New Contributors
- @a-kon made their first contribution in https://github.com/mantinedev/mantine/pull/6265
- @dfaust made their first contribution in https://github.com/mantinedev/mantine/pull/6257
- @ElTupac made their first contribution in https://github.com/mantinedev/mantine/pull/6278
Full Changelog: https://github.com/mantinedev/mantine/compare/7.10.0...7.10.1
v7.10.0
: 😎
View changelog with demos on mantine.dev website
Tree component
New Tree component:
import { IconFolder, IconFolderOpen } from '@​tabler/icons-react';
import { Group, RenderTreeNodePayload, Tree } from '@​mantine/core';
import { CssIcon, NpmIcon, TypeScriptCircleIcon } from '@​mantinex/dev-icons';
import { data, dataCode } from './data';
import classes from './Demo.module.css';
interface FileIconProps {
name: string;
isFolder: boolean;
expanded: boolean;
}
function FileIcon({ name, isFolder, expanded }: FileIconProps) {
if (name.endsWith('package.json')) {
return <NpmIcon size={14} />;
}
if (name.endsWith('.ts') || name.endsWith('.tsx') || name.endsWith('tsconfig.json')) {
return <TypeScriptCircleIcon size={14} />;
}
if (name.endsWith('.css')) {
return <CssIcon size={14} />;
}
if (isFolder) {
return expanded ? (
<IconFolderOpen color="var(--mantine-color-yellow-9)" size={14} stroke={2.5} />
) : (
<IconFolder color="var(--mantine-color-yellow-9)" size={14} stroke={2.5} />
);
}
return null;
}
function Leaf({ node, expanded, hasChildren, elementProps }: RenderTreeNodePayload) {
return (
<Group gap={5} {...elementProps}>
<FileIcon name={node.value} isFolder={hasChildren} expanded={expanded} />
<span>{node.label}</span>
</Group>
);
}
function Demo() {
return (
<Tree
classNames={classes}
selectOnClick
clearSelectionOnOutsideClick
data={data}
renderNode={(payload) => <Leaf {...payload} />}
/>
);
}
form.getInputNode
New form.getInputNode(path)
handler returns input DOM node for the given field path.
Form example, it can be used to focus input on form submit if there is an error:
import { Button, Group, TextInput } from '@​mantine/core';
import { isEmail, isNotEmpty, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
name: '',
email: '',
},
validate: {
name: isNotEmpty('Name is required'),
email: isEmail('Invalid email'),
},
});
return (
<form
onSubmit={form.onSubmit(
(values) => console.log(values),
(errors) => {
const firstErrorPath = Object.keys(errors)[0];
form.getInputNode(firstErrorPath)?.focus();
}
)}
>
<TextInput
withAsterisk
label="Your name"
placeholder="Your name"
key={form.key('name')}
{...form.getInputProps('name')}
/>
<TextInput
withAsterisk
label="Your email"
placeholder="your@email.com"
key={form.key('email')}
{...form.getInputProps('email')}
/>
<Group justify="flex-end" mt="md">
<Button type="submit">Submit</Button>
</Group>
</form>
);
}
Container queries in SimpleGrid
You can now use container queries in SimpleGrid component. With container queries, grid columns and spacing will be adjusted based on the container width, not the viewport width.
Example of using container queries. To see how the grid changes, resize the root element of the demo with the resize handle located at the bottom right corner of the demo:
import { SimpleGrid } from '@​mantine/core';
function Demo() {
return (
// Wrapper div is added for demonstration purposes only,
// it is not required in real projects
<div style={{ resize: 'horizontal', overflow: 'hidden', maxWidth: '100%' }}>
<SimpleGrid
type="container"
cols={{ base: 1, '300px': 2, '500px': 5 }}
spacing={{ base: 10, '300px': 'xl' }}
>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</SimpleGrid>
</div>
);
}
Checkbox and Radio indicators
New Checkbox.Indicator and Radio.Indicator
components look exactly the same as Checkbox
and Radio
components, but they do not
have any semantic meaning, they are just visual representations of checkbox and radio states.
Checkbox.Indicator
component:
import { Checkbox, Group } from '@​mantine/core';
function Demo() {
return (
<Group>
<Checkbox.Indicator />
<Checkbox.Indicator checked />
<Checkbox.Indicator indeterminate />
<Checkbox.Indicator disabled />
<Checkbox.Indicator disabled checked />
<Checkbox.Indicator disabled indeterminate />
</Group>
);
}
Radio.Indicator
component:
import { Group, Radio } from '@​mantine/core';
function Demo() {
return (
<Group>
<Radio.Indicator />
<Radio.Indicator checked />
<Radio.Indicator disabled />
<Radio.Indicator disabled checked />
</Group>
);
}
Checkbox and Radio cards
New Checkbox.Card and Radio.Card
components can be used as replacements for Checkbox
and Radio
to build custom cards/buttons/etc.
that work as checkboxes and radios. Components are accessible by default and support the same
keyboard interactions as input[type="checkbox"]
and input[type="radio"]
.
Checkbox.Card
component:
import { useState } from 'react';
import { Checkbox, Group, Text } from '@​mantine/core';
import classes from './Demo.module.css';
function Demo() {
const [checked, setChecked] = useState(false);
return (
<Checkbox.Card
className={classes.root}
radius="md"
checked={checked}
onClick={() => setChecked((c) => !c)}
>
<Group wrap="nowrap" align="flex-start">
<Checkbox.Indicator />
<div>
<Text className={classes.label}>@​mantine/core</Text>
<Text className={classes.description}>
Core components library: inputs, buttons, overlays, etc.
</Text>
</div>
</Group>
</Checkbox.Card>
);
}
Checkbox.Card
component with Checkbox.Group
:
import { useState } from 'react';
import { Checkbox, Group, Stack, Text } from '@​mantine/core';
import classes from './Demo.module.css';
const data = [
{
name: '@​mantine/core',
description: 'Core components library: inputs, buttons, overlays, etc.',
},
{ name: '@​mantine/hooks', description: 'Collection of reusable hooks for React applications.' },
{ name: '@​mantine/notifications', description: 'Notifications system' },
];
function Demo() {
const [value, setValue] = useState<string[]>([]);
const cards = data.map((item) => (
<Checkbox.Card className={classes.root} radius="md" value={item.name} key={item.name}>
<Group wrap="nowrap" align="flex-start">
<Checkbox.Indicator />
<div>
<Text className={classes.label}>{item.name}</Text>
<Text className={classes.description}>{item.description}</Text>
</div>
</Group>
</Checkbox.Card>
));
return (
<>
<Checkbox.Group
value={value}
onChange={setValue}
label="Pick packages to install"
description="Choose all packages that you will need in your application"
>
<Stack pt="md" gap="xs">
{cards}
</Stack>
</Checkbox.Group>
<Text fz="xs" mt="md">
CurrentValue: {value.join(', ') || '–'}
</Text>
</>
);
}
Radio.Card
component:
import { useState } from 'react';
import { Group, Radio, Text } from '@​mantine/core';
import classes from './Demo.module.css';
function Demo() {
const [checked, setChecked] = useState(false);
return (
<Radio.Card
className={classes.root}
radius="md"
checked={checked}
onClick={() => setChecked((c) => !c)}
>
<Group wrap="nowrap" align="flex-start">
<Radio.Indicator />
<div>
<Text className={classes.label}>@​mantine/core</Text>
<Text className={classes.description}>
Core components library: inputs, buttons, overlays, etc.
</Text>
</div>
</Group>
</Radio.Card>
);
}
Radio.Card
component with Radio.Group
:
import { useState } from 'react';
import { Group, Radio, Stack, Text } from '@​mantine/core';
import classes from './Demo.module.css';
const data = [
{
name: '@​mantine/core',
description: 'Core components library: inputs, buttons, overlays, etc.',
},
{ name: '@​mantine/hooks', description: 'Collection of reusable hooks for React applications.' },
{ name: '@​mantine/notifications', description: 'Notifications system' },
];
function Demo() {
const [value, setValue] = useState<string | null>(null);
const cards = data.map((item) => (
<Radio.Card className={classes.root} radius="md" value={item.name} key={item.name}>
<Group wrap="nowrap" align="flex-start">
<Radio.Indicator />
<div>
<Text className={classes.label}>{item.name}</Text>
<Text className={classes.description}>{item.description}</Text>
</div>
</Group>
</Radio.Card>
));
return (
<>
<Radio.Group
value={value}
onChange={setValue}
label="Pick one package to install"
description="Choose a package that you will need in your application"
>
<Stack pt="md" gap="xs">
{cards}
</Stack>
</Radio.Group>
<Text fz="xs" mt="md">
CurrentValue: {value || '–'}
</Text>
</>
);
}
bd style prop
New bd style prop can be used to set border
CSS property.
It is available in all components that support style props.
Border width value is automatically converted to rem. For border color you can reference theme colors similar to other style props:
import { Box } from '@​mantine/core';
function Demo() {
return <Box bd="1px solid red.5" />;
}
v7.9.2
What's Changed
-
[@mantine/dates]
DateTimePicker: Fix some oftimeInputProps
not being respected (#6204) -
[@mantine/core]
NavLink: Add react-router support to display active route (#6180) -
[@mantine/core]
Fixnonce
attribute not being set on<style />
tag generated in color scheme switching script -
[@mantine/core]
Input: Fix incorrect margins when input wrapper order is explicitly set -
[@mantine/core]
Pagination: Fix types definition being incompatible with @tabler/icons-react 3.x -
[@mantine/charts]
Fix incorrect tooltip position in LineChart, AreaChart and BarChart with vertical orientation -
[@mantine/core]
Rating: FixreadOnly
prop now working on touch devices (#6202) -
[@mantine/core]
TagsInput: Fix existing search value being ignored inonPaste
even handler (#6073) -
[@mantine/core]
TagsInput: Improveclearable
prop logic related to dropdown (#6115)
New Contributors
- @corydeppen made their first contribution in https://github.com/mantinedev/mantine/pull/6180
- @rodda-kyusu made their first contribution in https://github.com/mantinedev/mantine/pull/6204
- @iguit0 made their first contribution in https://github.com/mantinedev/mantine/pull/6233
- @Shadowfita made their first contribution in https://github.com/mantinedev/mantine/pull/6238
Full Changelog: https://github.com/mantinedev/mantine/compare/7.9.1...7.9.2
v7.9.1
What's Changed
-
[@mantine/core]
Fixtheme.scale
being ignored in Input, Paper and Table border styles -
[@mantine/core]
FixvirtualColor
function requringuse client
in Next.js -
[@mantine/core]
FloatingIndicator: Fix incorrect resize observer logic (#6129) -
[@mantine/core]
NumberInput: Fix incorrectallowNegative
handling with up/down arrows (#6170) -
[@mantine/core]
Fixerror={true}
prop set on Checkbox, Radio and Switch rendering unxpected error element with margin -
[@mantine/core]
SegmentedControl: Fixtheme.primaryColor
not being respected in the focus ring styles -
[@mantine/core]
CloseButton: Fix incorrect specificity of some selectors -
[@mantine/core]
Fix incorrectaria-label
handling in Select, Autocomplete, MultiSelect and TagsInputs components (#6123) -
[@mantine/core]
Modal: PreventonClose
from being called when modal is not opened (#6156) -
[@mantine/core]
PasswordInput: Fix duplicated password visibility icon in Edge browser (#6126) -
[@mantine/hooks]
use-hash: Fix hash value not being updated correctly (#6145) -
[@mantine/emotion]
Fix incorrect transform logic that was causing extra hooks to render (#6159)
New Contributors
- @lachtanek made their first contribution in https://github.com/mantinedev/mantine/pull/6145
- @hsskey made their first contribution in https://github.com/mantinedev/mantine/pull/6156
- @ataldev made their first contribution in https://github.com/mantinedev/mantine/pull/6198
- @OliverWales made their first contribution in https://github.com/mantinedev/mantine/pull/6188
- @AustinWildgrube made their first contribution in https://github.com/mantinedev/mantine/pull/6170
- @theca11 made their first contribution in https://github.com/mantinedev/mantine/pull/6178
Full Changelog: https://github.com/mantinedev/mantine/compare/7.9.0...7.9.1
v7.9.0
: ✨
View changelog with demos on mantine.dev website
@mantine/emotion package
New @mantine/emotion package is now available to simplify migration
from 6.x to 7.x. It includes createStyles
function and additional
functionality for sx
and styles
props for all components similar to what was available
in @mantine/core
package in v6.
If you still haven't migrated to 7.x because of the change in styling approach, you can now
have a smoother transition by using @mantine/emotion
package. To learn more about the package,
visit the documentation page and updated 6.x to 7.x migration guide.
import { rem } from '@​mantine/core';
import { createStyles } from '@​mantine/emotion';
const useStyles = createStyles((theme, _, u) => ({
wrapper: {
maxWidth: rem(400),
width: '100%',
height: rem(180),
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
marginLeft: 'auto',
marginRight: 'auto',
borderRadius: theme.radius.sm,
// Use light and dark selectors to change styles based on color scheme
[u.light]: {
backgroundColor: theme.colors.gray[1],
},
[u.dark]: {
backgroundColor: theme.colors.dark[5],
},
// Reference theme.breakpoints in smallerThan and largerThan functions
[u.smallerThan('sm')]: {
// Child reference in nested selectors via ref
[`& .${u.ref('child')}`]: {
fontSize: theme.fontSizes.xs,
},
},
},
child: {
// Assign selector to a ref to reference it in other styles
ref: u.ref('child'),
padding: theme.spacing.md,
borderRadius: theme.radius.sm,
boxShadow: theme.shadows.md,
[u.light]: {
backgroundColor: theme.white,
color: theme.black,
},
[u.dark]: {
backgroundColor: theme.colors.dark[8],
color: theme.white,
},
},
}));
function Demo() {
const { classes } = useStyles();
return (
<div className={classes.wrapper}>
<div className={classes.child}>createStyles demo</div>
</div>
);
}
React 18.3 support
All @mantine/*
components and hooks have been updated to support React 18.3. It is
recommended to update your application as well to prepare for the upcoming React 19 release.
use-field hook
New use-field hook is now available in @mantine/form
package.
It can be used as a simpler alternative to use-form hook to manage state of a single input without the need to create a form.
The hook supports most of use-form
hook features: validation with function, touched and
dirty state, error message, validation on change/blur and more.
import { TextInput } from '@​mantine/core';
import { isEmail, useField } from '@​mantine/form';
function Demo() {
const field = useField({
initialValue: '',
validateOnChange: true,
validate: isEmail('Invalid email'),
});
return <TextInput {...field.getInputProps()} label="Email" placeholder="Enter your email" />;
}
use-field
hook also supports async validation:
import { Button, Loader, TextInput } from '@​mantine/core';
import { useField } from '@​mantine/form';
function validateAsync(value: string): Promise<string | null> {
return new Promise((resolve) => {
window.setTimeout(() => {
resolve(value === 'mantine' ? null : 'Value must be "mantine"');
}, 800);
});
}
function Demo() {
const field = useField({
initialValue: '',
validate: validateAsync,
});
return (
<>
<TextInput
{...field.getInputProps()}
label="Enter 'mantine'"
placeholder="Enter 'mantine'"
rightSection={field.isValidating ? <Loader size={18} /> : null}
mb="md"
/>
<Button onClick={field.validate}>Validate async</Button>
</>
);
}
Custom PostCSS mixins
You can now define custom mixins that are not included in mantine-postcss-preset by specifying them
in the mixins
option. To learn about mixins syntax, follow postcss-mixins documentation.
Note that this feature is available in postcss-preset-mantine
starting from version 1.15.0.
Example of adding clearfix
and circle
mixins:
module.exports = {
plugins: {
'postcss-preset-mantine': {
autoRem: true,
mixins: {
clearfix: {
'&::after': {
content: '""',
display: 'table',
clear: 'both',
},
},
circle: (_mixin, size) => ({
borderRadius: '50%',
width: size,
height: size,
}),
},
},
// ... Other plugins
},
};
Then you can use these mixins in your styles:
.demo {
@​mixin clearfix;
@​mixin circle 100px;
}
use-matches hook
New use-matches
hook exported from @mantine/core
is an alternative to use-media-query
if you need to match multiple media queries and values. It accepts an object with media queries as keys and
values at given breakpoint as values.
Note that use-matches
hook uses the same logic as use-media-query under the hood,
it is not recommended to be used as a primary source of responsive styles, especially if you have ssr in your application.
In the following example:
- Starting from
theme.breakpoints.lg
, color will bered.9
- Between
theme.breakpoints.sm
andtheme.breakpoints.lg
, color will beorange.9
- Below
theme.breakpoints.sm
, color will beblue.9
import { Box, useMatches } from '@​mantine/core';
function Demo() {
const color = useMatches({
base: 'blue.9',
sm: 'orange.9',
lg: 'red.9',
});
return (
<Box bg={color} c="white" p="xl">
Box with color that changes based on screen size
</Box>
);
}
BarChart value label
BarChart now supports withBarValueLabel
prop that allows
displaying value label on top of each bar:
import { BarChart } from '@​mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
valueFormatter={(value) => new Intl.NumberFormat('en-US').format(value)}
withBarValueLabel
series={[
{ name: 'Smartphones', color: 'violet.6' },
{ name: 'Laptops', color: 'blue.6' },
{ name: 'Tablets', color: 'teal.6' },
]}
/>
);
}
Documentation updates
- New usage with emotion guide
- 6.x -> 7.x guide has been updated to include migration to @mantine/emotion package
- use-field hook documentation
-
Uncontrolled form mode examples now include usage of
form.key()
function - Custom PostCSS mixins documentation
- use-matches hook documentation has been added to the responsive guide
Other changes
- Advanced templates now include GitHub workflows to run tests on CI
- AspectRatio component has been migrated to aspect-ratio CSS property
v7.8.1
Notes
Note that if you've already started using uncontrolled form mode introduced in 7.8.0, you need to include form.key()
as described in the documentation.
What's Changed
-
[@mantine/form]
AdddefaultValue
toform.getInputProps
return type -
[@mantine/form]
Replacekey
spread withform.getInputProps
withform.key()
function -
[@mantine/dropzone]
Fix keyboard activation not working (#6095) -
[@mantine/dates]
DatePicker: Fix date range being stuck in incorrect state when controlled state changes to an empty value (#6092) -
[@mantine/core]
Radio: Allownull
to be passed to Radio.Group value to clear the value (#6102) -
[@mantine/core]
NumberInput: Fix incorrect cursor position when backspace is pressed (#6072) -
[@mantine/core]
Fix incorrect empty string handling in style props (#6078)
New Contributors
- @kgarner7 made their first contribution in https://github.com/mantinedev/mantine/pull/6064
Full Changelog: https://github.com/mantinedev/mantine/compare/7.8.0...7.8.1
v7.8.0
View changelog with demos on mantine.dev website
Auto convert px to rem in .css files
Start from version 1.14.4
postcss-preset-mantine
supports autoRem
option that can be used to automatically convert all px
values
to rem
units in .css
files.
module.exports = {
plugins: {
'postcss-preset-mantine': {
autoRem: true,
},
},
};
This option works similar to rem
function. The following code:
.demo {
font-size: 16px;
@​media (min-width: 320px) {
font-size: 32px;
}
}
Will be transformed to:
.demo {
font-size: calc(1rem * var(--mantine-scale));
@​media (min-width: 320px) {
font-size: calc(2rem * var(--mantine-scale));
}
}
Note that autoRem
converts only CSS properties, values in @media
queries are
not converted automatically – you still need to use em
function to convert them.
autoRem
option does not convert values in the following cases:
- Values in
calc()
,var()
,clamp()
andurl()
functions - Values in
content
property - Values that contain
rgb()
,rgba()
,hsl()
,hsla()
colors
If you want to convert above values to rem units, use rem
function manually.
Uncontrolled form mode
useForm hook now supports uncontrolled mode.
Uncontrolled mode provides a significant performance improvement by reducing
the number of re-renders and the amount of state updates almost to 0. Uncontrolled
mode is now the recommended way to use the useForm
hook for almost all use cases.
Example of uncontrolled form (form.values
are not updated):
import { useState } from 'react';
import { Button, Code, Text, TextInput } from '@​mantine/core';
import { hasLength, isEmail, useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: '', email: '' },
validate: {
name: hasLength({ min: 3 }, 'Must be at least 3 characters'),
email: isEmail('Invalid email'),
},
});
const [submittedValues, setSubmittedValues] = useState<typeof form.values | null>(null);
return (
<form onSubmit={form.onSubmit(setSubmittedValues)}>
<TextInput {...form.getInputProps('name')} label="Name" placeholder="Name" />
<TextInput {...form.getInputProps('email')} mt="md" label="Email" placeholder="Email" />
<Button type="submit" mt="md">
Submit
</Button>
<Text mt="md">Form values:</Text>
<Code block>{JSON.stringify(form.values, null, 2)}</Code>
<Text mt="md">Submitted values:</Text>
<Code block>{submittedValues ? JSON.stringify(submittedValues, null, 2) : '–'}</Code>
</form>
);
}
form.getValues
With uncontrolled mode, you can not access form.values
as a state variable,
instead, you can use form.getValues()
method to get current form values at any time:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John Doe' },
});
form.getValues(); // { name: 'John Doe' }
form.setValues({ name: 'John Smith' });
form.getValues(); // { name: 'John Smith' }
form.getValues()
always returns the latest form values, it is safe to use it
after state updates:
import { useForm } from '@​mantine/form';
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John Doe' },
});
const handleNameChange = () => {
form.setFieldValue('name', 'Test Name');
// ❌ Do not use form.values to get the current form values
// form.values has stale name value until next rerender in controlled mode
// and is always outdated in uncontrolled mode
console.log(form.values); // { name: 'John Doe' }
// ✅ Use form.getValues to get the current form values
// form.getValues always returns the latest form values
console.log(form.getValues()); // { name: 'Test Name' }
};
form.watch
form.watch
is an effect function that allows subscribing to changes of a
specific form field. It accepts field path and a callback function that is
called with new value, previous value, touched and dirty field states:
import { TextInput } from '@​mantine/core';
import { useForm } from '@​mantine/form';
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: {
name: '',
email: '',
},
});
form.watch('name', ({ previousValue, value, touched, dirty }) => {
console.log({ previousValue, value, touched, dirty });
});
return (
<div>
<TextInput label="Name" placeholder="Name" {...form.getInputProps('name')} />
<TextInput mt="md" label="Email" placeholder="Email" {...form.getInputProps('email')} />
</div>
);
}
Customize Popover middlewares
You can now customize middlewares
options in Popover component and
in other components (Menu, Select, Combobox, etc.)
based on Popover.
To customize Floating UI middlewares options, pass them as
an object to the middlewares
prop. For example, to change shift
middleware padding to 20px
use the following configuration:
import { Popover } from '@​mantine/core';
function Demo() {
return (
<Popover middlewares={{ shift: { padding: 20 } }} position="bottom">
{/* Popover content */}
</Popover>
);
}
use-fetch hook
New use-fetch hook:
import { Box, Button, Code, Group, LoadingOverlay, Text } from '@​mantine/core';
import { useFetch } from '@​mantine/hooks';
interface Item {
userId: number;
id: number;
title: string;
completed: boolean;
}
function Demo() {
const { data, loading, error, refetch, abort } = useFetch<Item[]>(
'https://jsonplaceholder.typicode.com/todos/'
);
return (
<div>
{error && <Text c="red">{error.message}</Text>}
<Group>
<Button onClick={refetch} color="blue">
Refetch
</Button>
<Button onClick={abort} color="red">
Abort
</Button>
</Group>
<Box pos="relative" mt="md">
<Code block>{data ? JSON.stringify(data.slice(0, 3), null, 2) : 'Fetching'}</Code>
<LoadingOverlay visible={loading} />
</Box>
</div>
);
}
use-map hook
New use-map hook:
import { IconPlus, IconTrash } from '@​tabler/icons-react';
import { ActionIcon, Group, Table } from '@​mantine/core';
import { useMap } from '@​mantine/hooks';
function Demo() {
const map = useMap([
['/hooks/use-media-query', 4124],
['/hooks/use-clipboard', 8341],
['/hooks/use-fetch', 9001],
]);
const rows = Array.from(map.entries()).map(([key, value]) => (
<Table.Tr key={key}>
<Table.Td>{key}</Table.Td>
<Table.Td>{value}</Table.Td>
<Table.Td>
<Group>
<ActionIcon variant="default" onClick={() => map.set(key, value + 1)} fw={500}>
<IconPlus stroke={1.5} size={18} />
</ActionIcon>
<ActionIcon variant="default" onClick={() => map.delete(key)} c="red">
<IconTrash stroke={1.5} size={18} />
</ActionIcon>
</Group>
</Table.Td>
</Table.Tr>
));
return (
<Table layout="fixed">
<Table.Thead>
<Table.Tr>
<Table.Th>Page</Table.Th>
<Table.Th>Views last month</Table.Th>
<Table.Th />
</Table.Tr>
</Table.Thead>
<Table.Tbody>{rows}</Table.Tbody>
</Table>
);
}
use-set hook
New use-set hook:
import { useState } from 'react';
import { Code, Stack, TextInput } from '@​mantine/core';
import { useSet } from '@​mantine/hooks';
function Demo() {
const [input, setInput] = useState('');
const scopes = useSet<string>(['@​mantine', '@​mantine-tests', '@​mantinex']);
const isDuplicate = scopes.has(input.trim().toLowerCase());
const items = Array.from(scopes).map((scope) => <Code key={scope}>{scope}</Code>);
return (
<>
<TextInput
label="Add new scope"
placeholder="Enter scope"
description="Duplicate scopes are not allowed"
value={input}
onChange={(event) => setInput(event.currentTarget.value)}
error={isDuplicate && 'Scope already exists'}
onKeyDown={(event) => {
if (event.nativeEvent.code === 'Enter' && !isDuplicate) {
scopes.add(input.trim().toLowerCase());
setInput('');
}
}}
/>
<Stack gap={5} align="flex-start" mt="md">
{items}
</Stack>
</>
);
}
use-debounced-callback hook
New use-debounced-callback hook:
import { useState } from 'react';
import { Loader, Text, TextInput } from '@​mantine/core';
import { useDebouncedCallback } from '@​mantine/hooks';
function getSearchResults(query: string): Promise<{ id: number; title: string }[]> {
return new Promise((resolve) => {
setTimeout(() => {
resolve(
query.trim() === ''
? []
: Array(5)
.fill(0)
.map((_, index) => ({ id: index, title: `${query} ${index + 1}` }))
);
}, 1000);
});
}
function Demo() {
const [search, setSearch] = useState('');
const [searchResults, setSearchResults] = useState<{ id: number; title: string }[]>([]);
const [loading, setLoading] = useState(false);
const handleSearch = useDebouncedCallback(async (query: string) => {
setLoading(true);
setSearchResults(await getSearchResults(query));
setLoading(false);
}, 500);
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
setSearch(event.currentTarget.value);
handleSearch(event.currentTarget.value);
};
return (
<>
<TextInput
value={search}
onChange={handleChange}
placeholder="Search..."
rightSection={loading && <Loader size={20} />}
/>
{searchResults.map((result) => (
<Text key={result.id} size="sm">
{result.title}
</Text>
))}
</>
);
}
use-throttled-state hook
New use-throttled-state hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledState } from '@​mantine/hooks';
function Demo() {
const [throttledValue, setThrottledValue] = useThrottledState('', 1000);
return (
<>
<TextInput
placeholder="Search"
onChange={(event) => setThrottledValue(event.currentTarget.value)}
/>
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-throttled-value hook
New use-throttled-value hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledValue } from '@​mantine/hooks';
function Demo() {
const [value, setValue] = useState('');
const throttledValue = useThrottledValue(value, 1000);
return (
<>
<TextInput placeholder="Search" onChange={(event) => setValue(event.currentTarget.value)} />
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-throttled-callback hook
New use-throttled-callback hook:
import { Text, TextInput } from '@​mantine/core';
import { useThrottledCallback } from '@​mantine/hooks';
function Demo() {
const [throttledValue, setValue] = useState('');
const throttledSetValue = useThrottledCallback((value) => setValue(value), 1000);
return (
<>
<TextInput
placeholder="Search"
onChange={(event) => throttledSetValue(event.currentTarget.value)}
/>
<Text>Throttled value: {throttledValue || '–'}</Text>
</>
);
}
use-orientation hook
New use-orientation hook:
import { Code, Text } from '@​mantine/core';
import { useOrientation } from '@​mantine/hooks';
function Demo() {
const { angle, type } = useOrientation();
return (
<>
<Text>
Angle: <Code>{angle}</Code>
</Text>
<Text>
Type: <Code>{type}</Code>
</Text>
</>
);
}
use-is-first-render hook
New use-is-first-render hook:
import { useState } from 'react';
import { Button, Text } from '@​mantine/core';
import { useIsFirstRender } from '@​mantine/hooks';
function Demo() {
const [counter, setCounter] = useState(0);
const firstRender = useIsFirstRender();
return (
<div>
<Text>
Is first render:{' '}
<Text span c={firstRender ? 'teal' : 'red'}>
{firstRender ? 'Yes' : 'No!'}
</Text>
</Text>
<Button onClick={() => setCounter((c) => c + 1)} mt="sm">
Rerendered {counter} times, click to rerender
</Button>
</div>
);
}
Documentation updates
- New uncontrolled form guide
- onValuesChange documentation has been added
- A new demo has been added to tiptap that shows how to customize typography styles
- A new guide has been added to customize Popover middlewares
Other changes
-
NumberInput now supports
withKeyboardEvents={false}
to disable up/down arrow keys handling - Popover shift middleware now has default padding of 5px to offset dropdown near the edge of the viewport
tabler/tabler-icons (@tabler/icons-react)
v3.31.0
: Release 3.31.0
18 new icons:
outline/cash-banknote-edit
outline/cash-banknote-heart
outline/cash-banknote-minus
outline/cash-banknote-move-back
outline/cash-banknote-move
outline/cash-banknote-plus
outline/cash-edit
outline/cash-heart
outline/cash-minus
outline/cash-move-back
outline/cash-move
outline/cash-plus
outline/moneybag-edit
outline/moneybag-heart
outline/moneybag-minus
outline/moneybag-move-back
outline/moneybag-move
outline/moneybag-plus
Fixed icons: outline/cash-banknote
, outline/cash
, outline/moneybag
Improvements:
- Remove unused ligatures from
@tabler/icons-webfont
#1312
v3.30.0
: Release 3.30.0
18 new icons:
filled/drop-circle
filled/dual-screen
filled/dumpling
filled/egg-fried
filled/escalator-down
filled/escalator-up
filled/escalator
filled/exchange
filled/explicit
filled/file-check
filled/file-code-2
filled/file-cv
filled/file-delta
filled/file-download
filled/file-lambda
filled/file-percent
filled/file-phone
filled/file-rss
Improvements
- Added missing categories to over 100 icons.
- The
@tabler/icons-webfont
package now includes fonts for icons with 1px and 1.5px thinner strokes.
Fixes
- Fixed a bug where filled icons from the sprite were being drawn as non-filled (Thank you @x-tropy!)
v3.29.0
: Release 3.29.0
18 new icons:
filled/current-location
filled/exposure
filled/eye-table
filled/eyeglass-2
filled/face-mask
filled/fence
filled/fidget-spinner
filled/file-description
filled/file-digit
filled/file-horizontal
filled/file-invoice
filled/file-minus
filled/file-neutral
filled/file-power
filled/file-sad
filled/file-smile
filled/file-star
filled/file-text
v3.28.1
: Release 3.28.1
Hotfix for Installation Issue with Workspace Protocol
v3.28.0
: Release 3.28.0
18 new icons:
filled/arrow-autofit-down
filled/arrow-autofit-height
filled/arrow-autofit-left
filled/arrow-autofit-right
filled/arrow-autofit-up
filled/arrow-autofit-width
filled/cloud-computing
filled/cloud-data-connection
filled/fish-bone
filled/pig
filled/spider
filled/sun-high
filled/sun-low
filled/sunrise
filled/sunset-2
filled/sunset
filled/temperature-minus
filled/temperature-plus
Fixed icons: outline/file-text-shield
, outline/replace-user
v3.27.1
: Release 3.27.1
Update file patterns in package.json
to include subdirectories for icon files in @tabler/icons-png
, @tabler/icons-pdf
and @tabler/icons-eps
v3.27.0
: Release 3.27.0
18 new icons:
filled/aerial-lift
filled/air-balloon
filled/bus
filled/car-crane
filled/caravan
filled/engine
filled/ferry
filled/gas-station
filled/helicopter
filled/motorbike
filled/rollercoaster
filled/speedboat
filled/train
filled/trolley
filled/truck
outline/file-text-shield
outline/hand-click-off
outline/replace-user
Fixed icons: filled/car
, outline/arrow-down-from-arc
, outline/arrow-down-to-arc
, outline/arrow-left-from-arc
, outline/arrow-left-to-arc
, outline/arrow-right-from-arc
, outline/arrow-right-to-arc
, outline/arrow-up-from-arc
, outline/arrow-up-to-arc
, outline/arrows-transfer-up-down
, outline/article-off
, outline/article
, outline/automation
, outline/background
, outline/badge-2k
, outline/badge-3k
, outline/badge-5k
, outline/basket-bolt
, outline/basket-cancel
, outline/basket-check
, outline/basket-code
, outline/basket-cog
, outline/basket-discount
, outline/basket-dollar
, outline/basket-down
, outline/basket-exclamation
, outline/basket-heart
, outline/basket-minus
, outline/basket-pause
, outline/basket-pin
, outline/basket-plus
, outline/basket-question
, outline/basket-search
, outline/basket-share
, outline/basket-star
, outline/basket-up
, outline/basket-x
, outline/blender
, outline/bowling
, outline/brain
, outline/browser-maximize
, outline/browser-minus
, outline/browser-share
, outline/bubble-tea-2
, outline/bubble-tea
, outline/building-airport
, outline/building-burj-al-arab
, outline/burger
, outline/cake-off
, outline/cake-roll
, outline/cake
, outline/calendar-clock
, outline/calendar-dot
, outline/calendar-month
, outline/calendar-sad
, outline/calendar-smile
, outline/calendar-user
, outline/calendar-week
, outline/car-garage
, outline/category-minus
, outline/category-plus
, outline/chart-bar-popular
, outline/chart-cohort
, outline/chart-column
, outline/chart-covariate
, outline/chart-funnel
, outline/chart-scatter-3d
, outline/chart-scatter
, outline/clipboard-search
, outline/clipboard-smile
, outline/clock-bitcoin
, outline/contract
, outline/cookie
, outline/credit-card-pay
, outline/credit-card-refund
, outline/hand-click
, outline/hand-finger-off
, outline/hand-finger
, outline/http-connect-off
, outline/http-delete-off
, outline/http-get-off
, outline/http-head-off
, outline/http-options-off
, outline/http-patch-off
, outline/http-post-off
, outline/http-put-off
, outline/http-que-off
, outline/http-trace-off
, outline/monkeybar
, outline/speedboat
, outline/train
v3.26.0
: Release 3.26.0
18 new icons:
filled/circle-chevrons-down
filled/circle-chevrons-left
filled/circle-chevrons-right
filled/circle-chevrons-up
filled/clipboard-data
filled/clipboard-list
filled/clipboard-text
filled/clipboard-typography
outline/http-connect-off
outline/http-delete-off
outline/http-get-off
outline/http-head-off
outline/http-options-off
outline/http-patch-off
outline/http-post-off
outline/http-put-off
outline/http-que-off
outline/http-trace-off
Fixed icons: outline/badge-2k
, outline/cake-roll
, outline/error-404-off
, outline/error-404
, outline/http-connect
, outline/http-delete
, outline/http-options
, outline/http-post
, outline/http-que
, outline/http-trace
, outline/matrix
, outline/square-dashed
, outline/table-dashed
v3.25.0
: Release 3.25.0
18 new icons:
filled/chart-dots-2
filled/chart-dots-3
filled/chart-funnel
filled/chart-pie-2
filled/chart-pie-3
filled/chart-pie-4
filled/chef-hat
filled/circle-caret-down
filled/circle-caret-left
filled/circle-caret-right
filled/circle-caret-up
filled/circle-chevron-down
filled/circle-chevron-left
filled/circle-chevron-right
filled/circle-chevron-up
filled/clipboard-check
filled/clipboard-x
filled/clipboard
Fixed icons: filled/calendar-month
, filled/calendar-week
, filled/chart-donut
, outline/calendar-month
, outline/calendar-week
Renamed icons:
-
filled/seeding
renamed tofilled/seedling
-
outline/seeding-off
renamed tooutline/seedling-off
-
outline/seeding
renamed tooutline/seedling
v3.24.0
: Release 3.24.0
18 new icons:
filled/brand-bitbucket
filled/direction-arrows
filled/droplets
filled/eyeglass
filled/filters
filled/flame
filled/flare
filled/folders
filled/garden-cart
filled/grid-pattern
filled/helicopter-landing
filled/laurel-wreath
filled/lemon-2
filled/lifebuoy
outline/cake-roll
outline/matrix
outline/square-dashed
outline/table-dashed
Fixed icons: outline/exposure-off
, outline/exposure
, outline/ferry
, outline/flame
, outline/folders
v3.23.0
: Release 3.23.0
18 new icons:
filled/calendar-event
filled/calendar-month
filled/calendar-week
outline/alarm-smoke
outline/badge-2k
outline/badge-3k
outline/badge-5k
outline/blocks
outline/bowling
outline/browser-maximize
outline/browser-minus
outline/browser-share
outline/code-variable-minus
outline/code-variable-plus
outline/code-variable
outline/uhd
outline/wheat-off
outline/wheat
v3.22.0
: Release 3.22.0
18 new icons:
filled/brand-messenger
filled/brand-weibo
filled/bubble-text
filled/ghost-3
filled/golf
filled/keyboard
filled/live-view
filled/meeple
filled/message-2
filled/nurse
filled/palette
filled/quote
filled/video
filled/windsock
outline/brand-tesla
outline/clipboard-search
outline/tag-minus
outline/tag-plus
Fixed icons: outline/building-wind-turbine
, outline/circuit-bulb
, outline/circuit-capacitor-polarized
, outline/circuit-capacitor
, outline/circuit-cell-plus
, outline/circuit-cell
, outline/circuit-changeover
, outline/circuit-diode-zener
, outline/circuit-diode
, outline/circuit-ground-digital
, outline/circuit-ground
, outline/circuit-inductor
, outline/circuit-motor
, outline/circuit-pushbutton
, outline/circuit-resistor
, outline/circuit-switch-closed
, outline/circuit-switch-open
, outline/circuit-voltmeter
, outline/empathize
, outline/external-link-off
, outline/external-link
, outline/nurse
, outline/plug-connected
, outline/sos
, outline/tag
v3.21.0
: Release 3.21.0
18 new icons:
filled/brand-angular
filled/brand-instagram
filled/brand-kick
filled/brand-linkedin
filled/brand-open-source
filled/brand-opera
filled/brand-pinterest
filled/brand-sketch
filled/brand-snapchat
filled/brand-steam
filled/brand-stripe
filled/brand-tabler
filled/brand-tinder
filled/brand-tumblr
filled/brand-vercel
filled/brand-vimeo
filled/brand-whatsapp
filled/brand-windows
Fixed icons: outline/brand-instagram
, outline/brand-linkedin
, outline/brand-tabler
v3.20.0
: Release 3.20.0
18 new icons:
filled/play-card-1
filled/play-card-10
filled/play-card-2
filled/play-card-3
filled/play-card-4
filled/play-card-5
filled/play-card-6
filled/play-card-7
filled/play-card-8
filled/play-card-9
filled/play-card-a
filled/play-card-j
filled/play-card-k
filled/play-card-q
filled/play-card-star
outline/ferry
outline/math-x-floor-divide-y
outline/x-power-y
v3.19.0
: Release 3.19.0
18 new icons:
filled/favicon
filled/icons
filled/ironing-1
filled/ironing-2
filled/ironing-3
filled/ironing-steam
filled/sitemap
outline/arrow-down-dashed
outline/arrow-left-dashed
outline/arrow-narrow-down-dashed
outline/arrow-narrow-left-dashed
outline/arrow-narrow-right-dashed
outline/arrow-narrow-up-dashed
outline/arrow-right-dashed
outline/arrow-up-dashed
outline/building-cog
outline/building-minus
outline/building-plus
Fixed icon: outline/sitemap
Improvements
- allow passing
class
from component in@tabler/icons-preact
package (https://github.com/tabler/tabler-icons/pull/1223) - allow treeshaking with
@tabler/icons-solidjs
package (https://github.com/tabler/tabler-icons/pull/1221) - generate dynamic imports for
@tabler/icons-react
package (https://github.com/tabler/tabler-icons/pull/1081)
Fixes
- fix default values for
size
andstroke
attributes in@tabler/icons-vue
package (https://github.com/tabler/tabler-icons/pull/1145)
v3.18.0
: Release 3.18.0
18 new icons:
outline/joker
outline/number-10
outline/number-11
outline/play-card-1
outline/play-card-10
outline/play-card-2
outline/play-card-3
outline/play-card-4
outline/play-card-5
outline/play-card-6
outline/play-card-7
outline/play-card-8
outline/play-card-9
outline/play-card-a
outline/play-card-j
outline/play-card-k
outline/play-card-q
outline/play-card-star
v3.17.0
: Release 3.17.0
18 new icons:
filled/car-suv
filled/car
filled/device-cctv
filled/device-desktop
filled/device-gamepad-3
filled/device-imac
filled/device-ipad
filled/device-remote
filled/device-speaker
filled/device-tv-old
filled/device-tv
filled/device-usb
filled/device-vision-pro
filled/device-watch
filled/directions
filled/disc
filled/discount
filled/elevator
Fixed icons: outline/device-gamepad-3
, outline/device-ipad
, outline/device-usb
v3.16.0
: Release 3.16.0
36 new icons:
filled/arrow-down-circle
filled/arrow-down-rhombus
filled/arrow-down-square
filled/arrow-guide
filled/arrow-left-circle
filled/arrow-left-rhombus
filled/arrow-left-square
filled/arrow-move-down
filled/arrow-move-left
filled/arrow-move-right
filled/arrow-move-up
filled/arrow-right-circle
filled/arrow-right-rhombus
filled/arrow-right-square
filled/arrow-up-circle
filled/arrow-up-rhombus
filled/arrow-up-square
filled/automatic-gearbox
filled/battery-automotive
filled/battery-vertical-1
filled/battery-vertical-2
filled/battery-vertical-3
filled/battery-vertical-4
filled/battery-vertical
filled/bike
filled/blender
filled/bolt
filled/bong
filled/box-multiple
filled/car-4wd
filled/car-fan
filled/cardboards
filled/charging-pile
filled/christmas-tree
filled/dashboard
filled/device-unknown
Fixed icon: filled/blob
v3.15.0
: Release 3.15.0
18 new icons:
filled/apple
filled/butterfly
filled/cannabis
filled/carambola
filled/clover
filled/egg-cracked
filled/feather
filled/flower
filled/glass
filled/melon
filled/meteor
filled/michelin-star
filled/milk
filled/mountain
filled/mug
filled/pizza
filled/salad
filled/seeding
v3.14.0
: Release 3.14.0
71 new icons:
outline/number-100-small
outline/number-30-small
outline/number-31-small
outline/number-32-small
outline/number-33-small
outline/number-34-small
outline/number-35-small
outline/number-36-small
outline/number-37-small
outline/number-38-small
outline/number-39-small
outline/number-40-small
outline/number-41-small
outline/number-42-small
outline/number-43-small
outline/number-44-small
outline/number-45-small
outline/number-46-small
outline/number-47-small
outline/number-48-small
outline/number-49-small
outline/number-50-small
outline/number-51-small
outline/number-52-small
outline/number-53-small
outline/number-54-small
outline/number-55-small
outline/number-56-small
outline/number-57-small
outline/number-58-small
outline/number-59-small
outline/number-60-small
outline/number-61-small
outline/number-62-small
outline/number-63-small
outline/number-64-small
outline/number-65-small
outline/number-66-small
outline/number-67-small
outline/number-68-small
outline/number-69-small
outline/number-70-small
outline/number-71-small
outline/number-72-small
outline/number-73-small
outline/number-74-small
outline/number-75-small
outline/number-76-small
outline/number-77-small
outline/number-78-small
outline/number-79-small
outline/number-80-small
outline/number-81-small
outline/number-82-small
outline/number-83-small
outline/number-84-small
outline/number-85-small
outline/number-86-small
outline/number-87-small
outline/number-88-small
outline/number-89-small
outline/number-90-small
outline/number-91-small
outline/number-92-small
outline/number-93-small
outline/number-94-small
outline/number-95-small
outline/number-96-small
outline/number-97-small
outline/number-98-small
outline/number-99-small
Fixed icons: outline/number-0-small
, outline/number-1-small
, outline/number-10-small
, outline/number-11-small
, outline/number-12-small
, outline/number-13-small
, outline/number-14-small
, outline/number-15-small
, outline/number-16-small
, outline/number-17-small
, outline/number-18-small
, outline/number-19-small
, outline/number-20-small
, outline/number-21-small
, outline/number-23-small
, outline/number-28-small
, outline/number-8-small
v3.13.0
: Release 3.13.0
18 new icons:
outline/adjustments-spark
outline/battery-spark
outline/camera-spark
outline/cube-spark
outline/eye-spark
outline/file-spark
outline/file-text-spark
outline/flag-spark
outline/heart-spark
outline/home-spark
outline/input-spark
outline/mail-spark
outline/mood-spark
outline/phone-spark
outline/photo-spark
outline/server-spark
outline/settings-spark
outline/table-spark
Fixed icons: outline/badge-ad-off
, outline/battery-vertical-off
, outline/bed-off
, outline/bookmark-ai
, outline/briefcase-off
, outline/camera-ai
, outline/file-ai
, outline/file-text-ai
, outline/flask-off
, outline/gas-station-off
, outline/mail-ai
, outline/photo-ai
, outline/rosette-discount-check-off
, outline/route-off
v3.12.0
: Release 3.12.0
18 new icons:
outline/arrows-transfer-up-down
outline/brand-amie
outline/brand-bebo
outline/building-airport
outline/camera-ai
outline/camera-bitcoin
outline/camera-moon
outline/chart-column
outline/chart-covariate
outline/congruent-to
outline/diaper
outline/file-ai
outline/file-bitcoin
outline/lock-password
outline/phone-done
outline/phone-end
outline/phone-ringing
outline/stopwatch
Fixed icons: outline/bolt-off
, outline/bolt
, outline/phone-outgoing
, outline/phone-pause
v3.11.0
: Release 3.11.0
52 new icons:
outline/circle-dashed-letter-a
outline/circle-dashed-letter-b
outline/circle-dashed-letter-c
outline/circle-dashed-letter-d
outline/circle-dashed-letter-e
outline/circle-dashed-letter-f
outline/circle-dashed-letter-g
outline/circle-dashed-letter-h
outline/circle-dashed-letter-i
outline/circle-dashed-letter-j
outline/circle-dashed-letter-k
outline/circle-dashed-letter-l
outline/circle-dashed-letter-m
outline/circle-dashed-letter-n
outline/circle-dashed-letter-o
outline/circle-dashed-letter-p
outline/circle-dashed-letter-q
outline/circle-dashed-letter-r
outline/circle-dashed-letter-s
outline/circle-dashed-letter-t
outline/circle-dashed-letter-u
outline/circle-dashed-letter-v
outline/circle-dashed-letter-w
outline/circle-dashed-letter-x
outline/circle-dashed-letter-y
outline/circle-dashed-letter-z
outline/circle-dotted-letter-a
outline/circle-dotted-letter-b
outline/circle-dotted-letter-c
outline/circle-dotted-letter-d
outline/circle-dotted-letter-e
outline/circle-dotted-letter-f
outline/circle-dotted-letter-g
outline/circle-dotted-letter-h
outline/circle-dotted-letter-i
outline/circle-dotted-letter-j
outline/circle-dotted-letter-k
outline/circle-dotted-letter-l
outline/circle-dotted-letter-m
outline/circle-dotted-letter-n
outline/circle-dotted-letter-o
outline/circle-dotted-letter-p
outline/circle-dotted-letter-q
outline/circle-dotted-letter-r
outline/circle-dotted-letter-s
outline/circle-dotted-letter-t
outline/circle-dotted-letter-u
outline/circle-dotted-letter-v
outline/circle-dotted-letter-w
outline/circle-dotted-letter-x
outline/circle-dotted-letter-y
outline/circle-dotted-letter-z
v3.10.0
: Release 3.10.0
36 new icons:
filled/binary-tree-2
filled/binary-tree
filled/circle-rectangle
filled/exclamation-circle
filled/hanger-2
filled/label-important
filled/lasso-polygon
filled/military-rank
filled/presentation-analytics
filled/presentation
filled/sort-ascending-2
filled/sort-ascending-shapes
filled/sort-descending-2
filled/sort-descending-shapes
filled/swipe-down
filled/swipe-left
filled/swipe-right
filled/swipe-up
filled/test-pipe-2
outline/bubble-tea-2
outline/bubble-tea
outline/building-burj-al-arab
outline/hand-finger-down
outline/hand-finger-left
outline/hand-finger-right
outline/join-bevel
outline/join-round
outline/join-straight
outline/label-important
outline/laurel-wreath-1
outline/laurel-wreath-2
outline/laurel-wreath-3
outline/laurel-wreath
outline/leaf-2
outline/menu-3
outline/menu-4
Fixed icon: outline/military-rank
v3.9.0
: Release 3.9.0
18 new icons:
filled/label
outline/buildings
outline/clock-bitcoin
outline/cloud-bitcoin
outline/eye-bitcoin
outline/flag-bitcoin
outline/heart-bitcoin
outline/home-bitcoin
outline/label-off
outline/label
outline/lock-bitcoin
outline/mail-bitcoin
outline/math-ctg
outline/math-sec
outline/math-tg
outline/mood-bitcoin
outline/photo-bitcoin
outline/user-bitcoin
v3.8.0
: Release 3.8.0
18 new icons:
outline/alphabet-arabic
outline/alphabet-bangla
outline/alphabet-hebrew
outline/alphabet-korean
outline/alphabet-thai
outline/brand-adobe-after-effect
outline/brand-adobe-illustrator
outline/brand-adobe-indesign
outline/brand-adobe-photoshop
outline/brand-adobe-premier
outline/brand-adobe-xd
outline/brand-apple-news
outline/brand-hackerrank
outline/cap-projecting
outline/cap-rounded
outline/cap-straight
outline/math-cos
outline/math-sin
v3.7.0
: Release 3.7.0
18 new icons:
outline/battery-exclamation
outline/battery-vertical-1
outline/battery-vertical-2
outline/battery-vertical-3
outline/battery-vertical-4
outline/battery-vertical-charging-2
outline/battery-vertical-charging
outline/battery-vertical-eco
outline/battery-vertical-exclamation
outline/battery-vertical-off
outline/battery-vertical
outline/brand-metabrainz
outline/cancel
outline/rosette-discount-check-off
outline/ruler-measure-2
outline/umbrella-2
outline/umbrella-closed-2
outline/umbrella-closed
Fixed icons: filled/circle-plus
, outline/apple
, outline/battery-automotive
, outline/flask-2-off
, outline/flask-2
, outline/flask
, outline/microscope-off
, outline/microscope
, outline/rosette-discount-check
, outline/ruler-measure
, outline/test-pipe-2
, outline/test-pipe-off
, outline/test-pipe
Renamed icons:
-
outline/mood-suprised
renamed tooutline/mood-surprised
Fixes & Improvements
- Set return type of
Component
in SolidJS toJSX.Element
(#1148) - Change the way of exporting icons in Svelte package (#1169)
- Add support for Svelte 5
- Remove invalid DOM properties from
circle-plus
icon
v3.6.0
: Release 3.6.0
18 new icons:
filled/binoculars
filled/mood-angry
filled/mood-crazy-happy
filled/mood-wrrr
filled/pill
filled/receipt
filled/rosette-discount
filled/scuba-diving-tank
filled/steering-wheel
filled/tag
filled/tags
outline/align-left-2
outline/align-right-2
outline/binoculars
outline/building-off
outline/cliff-jumping
outline/contract
outline/scuba-diving-tank
Fixed icons: outline/briefcase-2
, outline/briefcase
, outline/cash-register
, outline/scuba-diving
v3.5.0
: Release 3.5.0
18 new icons:
filled/circle-plus
outline/automation
outline/chart-bar-popular
outline/chart-cohort
outline/chart-funnel
outline/device-unknown
outline/file-excel
outline/file-word
outline/object-scan
outline/tax-euro
outline/tax-pound
outline/tax
outline/timezone
outline/tip-jar-euro
outline/tip-jar-pound
outline/tip-jar
outline/viewport-short
outline/viewport-tall
Fixed icons: outline/battery-automotive
, outline/chart-bar
, outline/viewport-narrow
, outline/viewport-wide
v3.4.0
: Release 3.4.0
18 new icons:
outline/ai
outline/cash-register
outline/percentage-0
outline/percentage-10
outline/percentage-100
outline/percentage-20
outline/percentage-25
outline/percentage-30
outline/percentage-33
outline/percentage-40
outline/percentage-50
outline/percentage-60
outline/percentage-66
outline/percentage-70
outline/percentage-75
outline/percentage-80
outline/percentage-90
outline/picnic-table
v3.3.0
: Release 3.3.0
18 new icons:
filled/circle-percentage
filled/code-circle-2
filled/code-circle
filled/hospital-circle
filled/live-photo
filled/message-chatbot
filled/message-circle
filled/message-report
filled/message
filled/panorama-horizontal
filled/panorama-vertical
filled/parking-circle
filled/poo
filled/sunglasses
filled/tilt-shift
outline/ikosaedr
outline/message-circle-user
outline/message-user
Fixed icons: filled/shield-half
, outline/parking-circle
v3.2.0
: Release 3.2.0
18 new icons:
filled/bubble
filled/picture-in-picture-top
filled/picture-in-picture
filled/toggle-left
filled/toggle-right
outline/bubble-minus
outline/bubble-plus
outline/bubble-text
outline/bubble-x
outline/bubble
outline/carambola
outline/circle-dashed-check
outline/circle-dashed-minus
outline/circle-dashed-plus
outline/dumpling
outline/monkeybar
outline/pentagon-minus
outline/text-wrap-column
Fixed icons: outline/brand-google-fit
, outline/circle-dashed-x
, outline/message-dots
, outline/text-wrap
vitejs/vite-plugin-react (@vitejs/plugin-react)
v4.4.1
Fix type issue when using moduleResolution: "node"
in tsconfig #462
v4.4.0
Make compatible with rolldown-vite
This plugin is now compatible with rolldown-powered version of Vite.
Note that currently the __source
property value position might be incorrect. This will be fixed in the near future.
v4.3.4
Add Vite 6 to peerDependencies range
Vite 6 is highly backward compatible, not much to add!
#386
Force Babel to output spec compliant import attributesThe default was an old spec (with type: "json"
). We now enforce spec compliant (with { type: "json" }
)
v4.3.3
React Compiler runtimeModule option removed
React Compiler was updated to accept a target
option and runtimeModule
was removed. vite-plugin-react will still detect runtimeModule
for backwards compatibility.
When using a custom runtimeModule
or target !== '19'
, the plugin will not try to pre-optimize react/compiler-runtime
dependency.
The react-compiler-runtime is now available on npm can be used instead of the local shim for people using the compiler with React < 19.
Here is the configuration to use the compiler with React 18 and correct source maps in development:
npm install babel-plugin-react-compiler react-compiler-runtime @​babel/plugin-transform-react-jsx-development
export default defineConfig(({ command }) => {
const babelPlugins = [['babel-plugin-react-compiler', { target: '18' }]]
if (command === 'serve') {
babelPlugins.push(['@​babel/plugin-transform-react-jsx-development', {}])
}
return {
plugins: [react({ babel: { plugins: babelPlugins } })],
}
})
v4.3.2
Ignore directive sourcemap error #369
v4.3.1
Fix support for React Compiler with React 18
The previous version made this assumption that the compiler was only usable with React 19, but it's possible to use it with React 18 and a custom runtimeModule
: https://gist.github.com/poteto/37c076bf112a07ba39d0e5f0645fec43
When using a custom runtimeModule
, the plugin will not try to pre-optimize react/compiler-runtime
dependency.
Reminder: Vite expect code outside of node_modules
to be ESM, so you will need to update the gist with import React from 'react'
.
v4.3.0
Fix support for React compiler
Don't set retainLines: true
when the React compiler is used. This creates whitespace issues and the compiler is modifying the JSX too much to get correct line numbers after that. If you want to use the React compiler and get back correct line numbers for tools like vite-plugin-react-click-to-component to work, you should update your config to something like:
export default defineConfig(({ command }) => {
const babelPlugins = [['babel-plugin-react-compiler', {}]]
if (command === 'serve') {
babelPlugins.push(['@​babel/plugin-transform-react-jsx-development', {}])
}
return {
plugins: [react({ babel: { plugins: babelPlugins } })],
}
})
Support HMR for class components
This is a long overdue and should fix some issues people had with HMR when migrating from CRA.
django/django (Django)
v4.2.21
v4.2.20
v4.2.19
v4.2.18
v4.2.17
v4.2.16
v4.2.15
v4.2.14
v4.2.13
v4.2.12
v4.2.11
v4.2.10
v4.2.9
v4.2.8
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2
boto/boto3 (boto3)
v1.38.14
=======
- api-change:
deadline
: [botocore
] AWS Deadline Cloud service-managed fleets now support configuration scripts. Configuration scripts make it easy to install additional software, like plugins and packages, onto a worker. - api-change:
ec2
: [botocore
] EC2 - Adding support for AvailabilityZoneId - api-change:
iam
: [botocore
] Updating the endpoint list for the Identity and access management (IAM) service - api-change:
medialive
: [botocore
] Add support to the AV1 rate control mode - api-change:
mediatailor
: [botocore
] Documenting that EnabledLoggingStrategies is always present in responses of PlaybackConfiguration read operations. - api-change:
s3control
: [botocore
] Updates to support S3 Express zonal endpoints for directory buckets in AWS CLI - api-change:
sagemaker
: [botocore
] No API changes from previous release. This release migrated the model to Smithy keeping all features unchanged. - api-change:
supplychain
: [botocore
] Launch new AWS Supply Chain public APIs for DataIntegrationEvent, DataIntegrationFlowExecution and DatasetNamespace. Also add more capabilities to existing public APIs to support direct dataset event publish, data deduplication in DataIntegrationFlow, partition specification of custom datasets.
v1.38.13
=======
- api-change:
athena
: [botocore
] Minor API documentation updates - api-change:
logs
: [botocore
] We are pleased to announce limit increases to our grok processor logs transformation feature. Now you can define 20 Grok patterns in their configurations, with an expanded total pattern matching limit of 512 characters. - api-change:
synthetics
: [botocore
] Add support to retry a canary automatically after schedule run failures. Users can enable this feature by configuring the RetryConfig field when calling the CreateCanary or UpdateCanary API. Also includes changes in GetCanary and GetCanaryRuns to support retrieving retry configurations. - api-change:
workspaces
: [botocore
] Remove parameter EnableWorkDocs from WorkSpacesServiceModel due to end of support of Amazon WorkDocs service.
v1.38.12
=======
- api-change:
cloudfront
: [botocore
] Doc-only update for CloudFront. These changes include customer-reported issues. - api-change:
codepipeline
: [botocore
] Add support for Secrets Manager and Plaintext environment variable types in Commands action - api-change:
ec2
: [botocore
] Launching the feature to support ENA queues offering flexibility to support multiple queues per Enhanced Network Interface (ENI) - api-change:
glue
: [botocore
] This new release supports customizable RefreshInterval for all Saas ZETL integrations from 15 minutes to 6 days. - api-change:
guardduty
: [botocore
] Updated description of a data structure. - api-change:
sso-admin
: [botocore
] Update PutPermissionBoundaryToPermissionSet API's managedPolicyArn pattern to allow valid ARN only. Update ApplicationName to allow white spaces.
v1.38.11
=======
- api-change:
ec2
: [botocore
] This release adds API support for Path Component Exclusion (Filter Out ARN) for Reachability Analyzer - api-change:
imagebuilder
: [botocore
] Updated the CreateImageRecipeRequest ParentImage description to include all valid values as updated with the SSM Parameters project. - api-change:
medialive
: [botocore
] Enables Updating Anywhere Settings on a MediaLive Anywhere Channel. - api-change:
sagemaker
: [botocore
] SageMaker AI Studio users can now migrate to SageMaker Unified Studio, which offers a unified web-based development experience that integrates AWS data, analytics, artificial intelligence (AI), and machine learning (ML) services, as well as additional tools and resource - api-change:
synthetics
: [botocore
] Add support to test a canary update by invoking a dry run of a canary. This behavior can be used via the new StartCanaryDryRun API along with new fields in UpdateCanary to apply dry run changes. Also includes changes in GetCanary and GetCanaryRuns to support retrieving dry run configurations.
v1.38.10
=======
- api-change:
ec2
: [botocore
] This release adds support for Amazon EBS Provisioned Rate for Volume Initialization, which lets you specify a volume initialization rate to ensure that your EBS volumes are initialized in a predictable amount of time. - api-change:
servicecatalog
: [botocore
] ServiceCatalog's APIs (DeleteServiceAction, DisassociateServiceActionFromProvisioningArtifact, AssociateServiceActionWithProvisioningArtifact) now throw InvalidParametersException when IdempotencyToken is invalid. - api-change:
timestream-query
: [botocore
] Add dualstack endpoints support and correct us-gov-west-1 FIPS endpoint. - api-change:
timestream-write
: [botocore
] Add dualstack endpoints support.
v1.38.9
======
- api-change:
datazone
: [botocore
] This release adds a new authorization policy to control the usage of custom AssetType when creating an Asset. Customer can now add new grant(s) of policyType USE_ASSET_TYPE for custom AssetTypes to apply authorization policy to projects members and domain unit owners. - api-change:
devicefarm
: [botocore
] Add an optional parameter to the GetDevicePoolCompatibility API to pass in project information to check device pool compatibility. - api-change:
ec2
: [botocore
] This update introduces API operations to manage and create local gateway VIF and VIF groups. It also includes API operations to describe Outpost LAGs and service link VIFs. - api-change:
ecs
: [botocore
] Add support to roll back an In_Progress ECS Service Deployment - api-change:
mediaconvert
: [botocore
] This release adds an optional sidecar per-frame video quality metrics report and an ALL_PCM option for audio selectors. It also changes the data type for Probe API response fields related to video and audio bitrate from integer to double.
v1.38.8
======
- api-change:
bedrock-data-automation
: [botocore
] Added support for Custom output and blueprints for AUDIO data types. - api-change:
ds
: [botocore
] Doc only update - fixed typos. - api-change:
kinesis
: [botocore
] Marking ResourceARN as required for Amazon Kinesis Data Streams APIs TagResource, UntagResource, and ListTagsForResource.
v1.38.7
======
- api-change:
appconfig
: [botocore
] Adding waiter support for deployments and environments; documentation updates - api-change:
connect
: [botocore
] This release adds the following fields to DescribeContact: DisconnectReason, AgentInitiatedHoldDuration, AfterContactWorkStartTimestamp, AfterContactWorkEndTimestamp, AfterContactWorkDuration, StateTransitions, Recordings, ContactDetails, ContactEvaluations, Attributes - api-change:
sagemaker
: [botocore
] Feature - Adding support for Scheduled and Rolling Update Software in Sagemaker Hyperpod. - api-change:
verifiedpermissions
: [botocore
] Amazon Verified Permissions / Features : Adds support for tagging policy stores.
v1.38.6
======
- api-change:
bedrock
: [botocore
] You can now specify a cross region inference profile as a teacher model for the CreateModelCustomizationJob API. Additionally, the GetModelCustomizationJob API has been enhanced to return the sub-task statuses of a customization job within the StatusDetails response field. - api-change:
bedrock-agent
: [botocore
] Features: Add inline code node to prompt flow - api-change:
bedrock-agent-runtime
: [botocore
] Support for Custom Orchestration within InlineAgents - api-change:
cleanrooms
: [botocore
] This release adds support for ProtectedQuery results to be delivered to more than one collaboration member via the new distribute output configuration in StartProtectedQuery. - api-change:
deadline
: [botocore
] Adds support for tag management on workers and tag inheritance from fleets to their associated workers. - api-change:
ec2
: [botocore
] Launch of cost distribution feature for IPAM owners to distribute costs to internal teams. - api-change:
ecr
: [botocore
] Adds dualstack support for Amazon Elastic Container Registry (Amazon ECR). - api-change:
ecr-public
: [botocore
] Adds dualstack support for Amazon Elastic Container Registry Public (Amazon ECR Public). - api-change:
logs
: [botocore
] CloudWatch Logs supports "DELIVERY" log class. This log class is used only for delivering AWS Lambda logs to Amazon S3 or Amazon Data Firehose. - api-change:
mailmanager
: [botocore
] Introducing new RuleSet rule PublishToSns action, which allows customers to publish email notifications to an Amazon SNS topic. New PublishToSns action enables customers to easily integrate their email workflows via Amazon SNS, allowing them to notify other systems about important email events.
v1.38.5
======
- api-change:
connectcases
: [botocore
] Introduces CustomEntity as part of the UserUnion data type. This field is used to indicate the entity who is performing the API action. - api-change:
kinesis
: [botocore
] Amazon KDS now supports tagging and attribute-based access control (ABAC) for enhanced fan-out consumers. - api-change:
pinpoint-sms-voice-v2
: [botocore
] AWS End User Messaging has added MONITOR and FILTER functionality to SMS Protect. - api-change:
qbusiness
: [botocore
] Add support for anonymous user access for Q Business applications - api-change:
sagemaker
: [botocore
] Introduced support for P5en instance types on SageMaker Studio for JupyterLab and CodeEditor applications. - api-change:
sagemaker-metrics
: [botocore
] SageMaker Metrics Service now supports FIPS endpoint in all US and Canada Commercial regions. - api-change:
ssm
: [botocore
] This release adds support for just-In-time node access in AWS Systems Manager. Just-in-time node access enables customers to move towards zero standing privileges by requiring operators to request access and obtain approval before remotely connecting to nodes managed by the SSM Agent. - api-change:
ssm-guiconnect
: [botocore
] This release adds API support for the connection recording GUI Connect feature of AWS Systems Manager
v1.38.4
======
- api-change:
acm
: [botocore
] Add support for file-based HTTP domain control validation, available through Amazon CloudFront. - api-change:
bedrock-runtime
: [botocore
] This release adds native h2 support for the bedrock runtime API, the support is only limited to SDKs that support h2 requests natively. - api-change:
cloudfront
: [botocore
] Add distribution tenant, connection group, and multi-tenant distribution APIs to the CloudFront SDK. - api-change:
dynamodb
: [botocore
] Doc only update for GSI descriptions. - api-change:
imagebuilder
: [botocore
] Add integration with SSM Parameter Store to Image Builder.
v1.38.3
======
- api-change:
bedrock-runtime
: [botocore
] You can now reference images and documents stored in Amazon S3 when using InvokeModel and Converse APIs with Amazon Nova Lite and Nova Pro. This enables direct integration of S3-stored multimedia assets in your model requests without manual downloading or base64 encoding. - api-change:
ecs
: [botocore
] Documentation only release for Amazon ECS. - api-change:
marketplace-deployment
: [botocore
] Doc only update for the AWS Marketplace Deployment Service that fixes several customer-reported issues.
v1.38.2
======
- api-change:
apprunner
: [botocore
] AWS App Runner adds Node.js 22 runtime. - api-change:
appsync
: [botocore
] Add data source support to Event APIs - api-change:
bedrock-data-automation
: [botocore
] Added support for modality routing and modality enablement on CreateDataAutomationProject and UpdateDataAutomationProject APIs - api-change:
codebuild
: [botocore
] Remove redundant validation check. - api-change:
dynamodb
: [botocore
] Add support for ARN-sourced account endpoint generation for TransactWriteItems. This will generate account endpoints for DynamoDB TransactWriteItems requests using ARN-sourced account ID when available. - api-change:
ecs
: [botocore
] Documentation only release for Amazon ECS - api-change:
pcs
: [botocore
] Documentation-only update: added valid values for the version property of the Scheduler and SchedulerRequest data types. - api-change:
rds
: [botocore
] This Amazon RDS release adds support for managed master user passwords for Oracle CDBs.
v1.38.1
=======
- api-change:
deadline
: [botocore
] AWS Deadline Cloud service-managed fleets now support configuration scripts. Configuration scripts make it easy to install additional software, like plugins and packages, onto a worker. - api-change:
ec2
: [botocore
] EC2 - Adding support for AvailabilityZoneId - api-change:
iam
: [botocore
] Updating the endpoint list for the Identity and access management (IAM) service - api-change:
medialive
: [botocore
] Add support to the AV1 rate control mode - api-change:
mediatailor
: [botocore
] Documenting that EnabledLoggingStrategies is always present in responses of PlaybackConfiguration read operations. - api-change:
s3control
: [botocore
] Updates to support S3 Express zonal endpoints for directory buckets in AWS CLI - api-change:
sagemaker
: [botocore
] No API changes from previous release. This release migrated the model to Smithy keeping all features unchanged. - api-change:
supplychain
: [botocore
] Launch new AWS Supply Chain public APIs for DataIntegrationEvent, DataIntegrationFlowExecution and DatasetNamespace. Also add more capabilities to existing public APIs to support direct dataset event publish, data deduplication in DataIntegrationFlow, partition specification of custom datasets.
v1.38.0
======
- api-change:
account
: [botocore
] AWS Account Management now supports account name update via IAM principals. - api-change:
cognito-idp
: [botocore
] This release adds refresh token rotation. - api-change:
ec2
: [botocore
] Added support for ClientRouteEnforcementOptions flag in CreateClientVpnEndpoint and ModifyClientVpnEndpoint requests and DescribeClientVpnEndpoints responses - api-change:
entityresolution
: [botocore
] To expand support for matching records using digital identifiers with TransUnion - api-change:
mq
: [botocore
] You can now delete Amazon MQ broker configurations using the DeleteConfiguration API. For more information, see Configurations in the Amazon MQ API Reference. - api-change:
redshift-serverless
: [botocore
] Provides new and updated API members to support the Redshift Serverless reservations feature. - api-change:
s3control
: [botocore
] Fix endpoint resolution test cases - feature:Python: [
botocore
] End of support for Python 3.8 - feature:Python: End of support for Python 3.8
v1.37.38
=======
- api-change:
arc-zonal-shift
: [botocore
] Updates to documentation and exception types for Zonal Autoshift - api-change:
budgets
: [botocore
] Releasing the new Budget FilterExpression and Metrics fields to support more granular filtering options. These new fields are intended to replace CostFilters and CostTypes, which are deprecated as of 2025/18/04. - api-change:
firehose
: [botocore
] Documentation update regarding the number of streams you can create using the CreateDeliveryStream API. - api-change:
mediatailor
: [botocore
] Added support for Recurring Prefetch and Traffic Shaping on both Single and Recurring Prefetch. ListPrefetchSchedules now return single prefetchs by default and can be provided scheduleType of SINGLE, RECURRING, AND ALL. - api-change:
qbusiness
: [botocore
] The CheckDocumentAccess API for Amazon Q Business is a self-service debugging API that allows administrators to verify document access permissions and review Access Control List (ACL) configurations.
v1.37.37
=======
- api-change:
qconnect
: [botocore
] This release adds support for the following capabilities: Chunking generative answer replies from Amazon Q in Connect. Integration support for the use of additional LLM models with Amazon Q in Connect. - api-change:
sagemaker
: [botocore
] This release adds a new Neuron driver option in InferenceAmiVersion parameter for ProductionVariant. Additionally, it adds support for fetching model lifecycle status in the ListModelPackages API. Users can now use this API to view the lifecycle stage of models that have been shared with them. - api-change:
service-quotas
: [botocore
] Add new optional SupportCaseAllowed query parameter to the RequestServiceQuotaIncrease API
v1.37.36
=======
- api-change:
accessanalyzer
: [botocore
] Added new resource types to evaluate for public access in resource policies and added support for S3 directory bucket access points. - api-change:
amp
: [botocore
] Add Workspace Configuration APIs for Amazon Prometheus - api-change:
autoscaling
: [botocore
] Doc only update for EC2 Auto Scaling. - api-change:
bedrock
: [botocore
] With this release, Bedrock Evaluation will now support custom metrics for evaluation. - api-change:
connect
: [botocore
] This release adds following capabilities to Contact Lens Rules APIs 1/ 'ASSIGN_SLA' action and '.Case.TemplateId' comparison value for 'OnCaseCreate' and 'OnCaseUpdate' event sources 2/ 'OnSlaBreach' Cases event source which supports '.RelatedItem.SlaConfiguration.Name' comparison value - api-change:
ecs
: [botocore
] Adds a new AccountSetting - defaultLogDriverMode for ECS. - api-change:
iotfleetwise
: [botocore
] We've added stricter parameter validations to AWS IoT FleetWise signal catalog, model manifest, and decoder manifest APIs. - api-change:
memorydb
: [botocore
] Added support for IPv6 and dual stack for Valkey and Redis clusters. Customers can now launch new Valkey and Redis clusters with IPv6 and dual stack networking support. - api-change:
omics
: [botocore
] Add versioning for HealthOmics workflows
v1.37.35
=======
- api-change:
connectcases
: [botocore
] This feature provides capabilities to help track and meet service level agreements (SLAs) on cases programmatically. It allows configuring a new related item of typeSla
on a case using CreateRelatedItem API and provides the ability to search for this new related item using SearchRelatedItems API. - api-change:
dsql
: [botocore
] Added GetClusterEndpointService API. The new API allows retrieving endpoint service name specific to a cluster. - api-change:
eks
: [botocore
] Added support for new AL2023 ARM64 NVIDIA AMIs to the supported AMITypes. - api-change:
events
: [botocore
] Adding support for KmsKeyIdentifer in CreateConnection, UpdateConnection and DescribeConnection APIs - api-change:
resource-groups
: [botocore
] Resource Groups: TagSyncTasks can be created with ResourceQuery - api-change:
s3tables
: [botocore
] S3 Tables now supports setting encryption configurations on table buckets and tables. Encryption configurations can use server side encryption using AES256 or KMS customer-managed keys. - api-change:
servicecatalog
: [botocore
] Updated default value for the access-level-filter in SearchProvisionedProducts API to Account. For access to userLevel or roleLevel, the user must provide access-level-filter parameter.
v1.37.34
=======
- api-change:
entityresolution
: [botocore
] This is to add new metrics to our GetIdMappingJob API and also update uniqueId naming for batchDeleteUniqueIds API to be more accurate - api-change:
taxsettings
: [botocore
] Indonesia SOR Tax Registration Launch
v1.37.33
=======
- api-change:
connect-contact-lens
: [botocore
] Making sentiment optional for ListRealtimeContactAnalysisSegments Response depending on conversational analytics configuration - api-change:
datazone
: [botocore
] Raise hard limit of authorized principals per SubscriptionTarget from 10 to 20. - api-change:
detective
: [botocore
] Add support for Detective DualStack endpoints - api-change:
dynamodb
: [botocore
] Doc only update for API descriptions. - api-change:
marketplace-entitlement
: [botocore
] Add support for Marketplace Entitlement Service dual-stack endpoints for CN and GOV regions - api-change:
meteringmarketplace
: [botocore
] Add support for Marketplace Metering Service dual-stack endpoints for CN regions - api-change:
pcs
: [botocore
] Changed the minimum length of clusterIdentifier, computeNodeGroupIdentifier, and queueIdentifier to 3. - api-change:
verifiedpermissions
: [botocore
] Adds deletion protection support to policy stores. Deletion protection is disabled by default, can be enabled via the CreatePolicyStore or UpdatePolicyStore APIs, and is visible in GetPolicyStore. - bugfix:
download_fileobj
: Fileobj provided in append mode will no longer allow concurrent writes to preserve data integrity.
v1.37.32
=======
- api-change:
application-autoscaling
: [botocore
] Application Auto Scaling now supports horizontal scaling for Elasticache Memcached self-designed clusters using target tracking scaling policies and scheduled scaling. - api-change:
elasticache
: [botocore
] AWS ElastiCache SDK now supports using MemcachedUpgradeConfig parameter with ModifyCacheCluster API to enable updating Memcached cache node types. Please refer to updated AWS ElastiCache public documentation for detailed information on API usage and implementation. - api-change:
m2
: [botocore
] Introduce three new APIs: CreateDataSetExportTask, GetDataSetExportTask and ListDataSetExportHistory. Add support for batch restart for Blu Age applications. - api-change:
medialive
: [botocore
] AWS Elemental MediaLive / Features : Add support for CMAF Ingest CaptionLanguageMappings, TimedMetadataId3 settings, and Link InputResolution. - api-change:
qbusiness
: [botocore
] Adds functionality to enable/disable a new Q Business Hallucination Reduction feature. If enabled, Q Business will detect and attempt to remove Hallucinations from certain Chat requests. - api-change:
quicksight
: [botocore
] Add support to analysis and sheet level highlighting in QuickSight.
v1.37.31
=======
- api-change:
controlcatalog
: [botocore
] The GetControl API now surfaces a control's Severity, CreateTime, and Identifier for a control's Implementation. The ListControls API now surfaces a control's Behavior, Severity, CreateTime, and Identifier for a control's Implementation. - api-change:
dynamodb
: [botocore
] Documentation update for secondary indexes and Create_Table. - api-change:
glue
: [botocore
] The TableOptimizer APIs in AWS Glue now return the DpuHours field in each TableOptimizerRun, providing clients visibility to the DPU-hours used for billing in managed Apache Iceberg table compaction optimization. - api-change:
groundstation
: [botocore
] Support tagging Agents and adjust input field validations - api-change:
transfer
: [botocore
] This launch includes 2 enhancements to SFTP connectors user-experience: 1) Customers can self-serve concurrent connections setting for their connectors, and 2) Customers can discover the public host key of remote servers using their SFTP connectors.
v1.37.30
=======
- api-change:
bedrock-runtime
: [botocore
] This release introduces our latest bedrock runtime API, InvokeModelWithBidirectionalStream. The API supports both input and output streams and is supported by only HTTP2.0. - api-change:
ce
: [botocore
] This release supports Pagination traits on Cost Anomaly Detection APIs. - api-change:
cost-optimization-hub
: [botocore
] This release adds resource type "MemoryDbReservedInstances" and resource type "DynamoDbReservedCapacity" to the GetRecommendation, ListRecommendations, and ListRecommendationSummaries APIs to support new MemoryDB and DynamoDB RI recommendations. - api-change:
iotfleetwise
: [botocore
] This release adds the option to update the strategy of state templates already associated to a vehicle, without the need to remove and re-add them. - api-change:
securityhub
: [botocore
] Documentation updates for AWS Security Hub. - api-change:
storagegateway
: [botocore
] Added new ActiveDirectoryStatus value, ListCacheReports paginator, and support for longer pagination tokens. - api-change:
taxsettings
: [botocore
] Uzbekistan Launch on TaxSettings Page
v1.37.29
=======
- api-change:
bedrock
: [botocore
] New options for how to handle harmful content detected by Amazon Bedrock Guardrails. - api-change:
bedrock-runtime
: [botocore
] New options for how to handle harmful content detected by Amazon Bedrock Guardrails. - api-change:
codebuild
: [botocore
] AWS CodeBuild now offers an enhanced debugging experience. - api-change:
glue
: [botocore
] Add input validations for multiple Glue APIs - api-change:
medialive
: [botocore
] AWS Elemental MediaLive now supports SDI inputs to MediaLive Anywhere Channels in workflows that use AWS SDKs. - api-change:
personalize
: [botocore
] Add support for eventsConfig for CreateSolution, UpdateSolution, DescribeSolution, DescribeSolutionVersion. Add support for GetSolutionMetrics to return weighted NDCG metrics when eventsConfig is enabled for the solution. - api-change:
transfer
: [botocore
] This launch enables customers to manage contents of their remote directories, by deleting old files or moving files to archive folders in remote servers once they have been retrieved. Customers will be able to automate the process using event-driven architecture.
v1.37.28
=======
- api-change:
ds-data
: [botocore
] Doc only update - fixed broken links. - api-change:
ec2
: [botocore
] Doc-only updates for Amazon EC2 - api-change:
events
: [botocore
] Amazon EventBridge adds support for customer-managed keys on Archives and validations for two fields: eventSourceArn and kmsKeyIdentifier. - api-change:
s3control
: [botocore
] Updated max size of Prefixes parameter of Scope data type.
v1.37.27
=======
- api-change:
bedrock-agent
: [botocore
] Added optional "customMetadataField" for Amazon Aurora knowledge bases, allowing single-column metadata. Also added optional "textIndexName" for MongoDB Atlas knowledge bases, enabling hybrid search support. - api-change:
chime-sdk-voice
: [botocore
] Added FOC date as an attribute of PhoneNumberOrder, added AccessDeniedException as a possible return type of ValidateE911Address - api-change:
mailmanager
: [botocore
] Add support for Dual_Stack and PrivateLink types of IngressPoint. For configuration requests, SES Mail Manager will now accept both IPv4/IPv6 dual-stack endpoints and AWS PrivateLink VPC endpoints for email receiving. - api-change:
opensearch
: [botocore
] Improve descriptions for various API commands and data types. - api-change:
route53
: [botocore
] Added us-gov-east-1 and us-gov-west-1 as valid Latency Based Routing regions for change-resource-record-sets. - api-change:
sagemaker
: [botocore
] Adds support for i3en, m7i, r7i instance types for SageMaker Hyperpod - api-change:
sesv2
: [botocore
] This release enables customers to provide attachments in the SESv2 SendEmail and SendBulkEmail APIs. - api-change:
transcribe
: [botocore
] This Feature Adds Support for the "zh-HK" Locale for Batch Operations - enhancement:Eventstream: [
botocore
] The event streams maximum payload size is now required to be 24Mb or less.
v1.37.26
=======
- api-change:
application-signals
: [botocore
] Application Signals now supports creating Service Level Objectives on service dependencies. Users can now create or update SLOs on discovered service dependencies to monitor their standard application metrics. - api-change:
codebuild
: [botocore
] This release adds support for environment type WINDOWS_SERVER_2022_CONTAINER in ProjectEnvironment - api-change:
ecr
: [botocore
] Fix for customer issues related to AWS account ID and size limitation for token. - api-change:
ecs
: [botocore
] This is an Amazon ECS documentation only update to address various tickets. - api-change:
lexv2-models
: [botocore
] Release feature of errorlogging for lex bot, customer can config this feature in bot version to generate log for error exception which helps debug - api-change:
medialive
: [botocore
] Added support for SMPTE 2110 inputs when running a channel in a MediaLive Anywhere cluster. This feature enables ingestion of SMPTE 2110-compliant video, audio, and ancillary streams by reading SDP files that AWS Elemental MediaLive can retrieve from a network source.
v1.37.25
=======
- api-change:
cleanrooms
: [botocore
] This release adds support for updating the analytics engine of a collaboration. - api-change:
sagemaker
: [botocore
] Added tagging support for SageMaker notebook instance lifecycle configurations
v1.37.24
=======
- api-change:
bedrock-runtime
: [botocore
] Add Prompt Caching support to Converse and ConverseStream APIs - api-change:
deadline
: [botocore
] With this release you can use a new field to specify the search term match type. Search term match types currently support fuzzy and contains matching. - api-change:
ec2
: [botocore
] Release VPC Route Server, a new feature allowing dynamic routing in VPCs. - api-change:
eks
: [botocore
] Add support for updating RemoteNetworkConfig for hybrid nodes on EKS UpdateClusterConfig API - api-change:
marketplace-entitlement
: [botocore
] Add support for Marketplace Entitlement Service dual-stack endpoints. - api-change:
outposts
: [botocore
] Enabling Asset Level Capacity Management feature, which allows customers to create a Capacity Task for a single Asset on their active Outpost. - api-change:
s3
: [botocore
] Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones - api-change:
s3control
: [botocore
] Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones - api-change:
sesv2
: [botocore
] Add dual-stack support to global endpoints. - api-change:
transfer
: [botocore
] Add WebAppEndpointPolicy support for WebApps
v1.37.23
=======
- api-change:
apigateway
: [botocore
] Adds support for setting the IP address type to allow dual-stack or IPv4 address types to invoke your APIs or domain names. - api-change:
apigatewayv2
: [botocore
] Adds support for setting the IP address type to allow dual-stack or IPv4 address types to invoke your APIs or domain names. - api-change:
bedrock-runtime
: [botocore
] Launching Multi-modality Content Filter for Amazon Bedrock Guardrails. - api-change:
codebuild
: [botocore
] This release adds support for cacheNamespace in ProjectCache - api-change:
ecs
: [botocore
] This is an Amazon ECS documentation only release that addresses tickets. - api-change:
meteringmarketplace
: [botocore
] Add support for Marketplace Metering Service dual-stack endpoints. - api-change:
networkmanager
: [botocore
] Add support for NetworkManager Dualstack endpoints. - api-change:
payment-cryptography
: [botocore
] The service adds support for transferring AES-256 and other keys between the service and other service providers and HSMs. This feature uses ECDH to derive a one-time key transport key to enable these secure key exchanges. - api-change:
quicksight
: [botocore
] RLS permission dataset with userAs: RLS_RULES flag, Q in QuickSight/Threshold Alerts/Schedules/Snapshots in QS embedding, toggle dataset refresh email alerts via API, transposed table with options: column width, type and index, toggle Q&A on dashboards, Oracle Service Name when creating data source. - api-change:
sagemaker
: [botocore
] TransformAmiVersion for Batch Transform and SageMaker Search Service Aggregate Search API Extension
v1.37.22
=======
- api-change:
batch
: [botocore
] This release will enable two features: Firelens log driver, and Execute Command on Batch jobs on ECS. Both features will be passed through to ECS. - api-change:
bcm-pricing-calculator
: [botocore
] Added standaloneAccountRateTypeSelections for GetPreferences and UpdatePreferences APIs. Added STALE enum value to status attribute in GetBillScenario and UpdateBillScenario APIs. - api-change:
bedrock-agent-runtime
: [botocore
] bedrock flow now support node action trace. - api-change:
cloudformation
: [botocore
] Adding support for the new parameter "ScanFilters" in the CloudFormation StartResourceScan API. When this parameter is included, the StartResourceScan API will initiate a scan limited to the resource types specified by the parameter. - api-change:
datazone
: [botocore
] This release adds new action type of Create Listing Changeset for the Metadata Enforcement Rule feature. - api-change:
eks
: [botocore
] Added support for BOTTLEROCKET FIPS AMIs to AMI types in US regions. - api-change:
gamelift
: [botocore
] Amazon GameLift Servers add support for additional instance types. - api-change:
iam
: [botocore
] Update IAM dual-stack endpoints for BJS, IAD and PDT partitions - api-change:
sagemaker
: [botocore
] add: recovery mode for SageMaker Studio apps - api-change:
sso-oidc
: [botocore
] This release adds AwsAdditionalDetails in the CreateTokenWithIAM API response.
v1.37.21
=======
- api-change:
arc-zonal-shift
: [botocore
] Add new shiftType field for ARC zonal shifts. - api-change:
directconnect
: [botocore
] With this release, AWS Direct Connect allows you to tag your Direct Connect gateways. Tags are metadata that you can create and use to manage your Direct Connect gateways. For more information about tagging, see AWS Tagging Strategies. - api-change:
mediaconvert
: [botocore
] This release adds a configurable Quality Level setting for the top rendition of Auto ABR jobs - api-change:
mediatailor
: [botocore
] Add support for log filtering which allow customers to filter out selected event types from logs. - api-change:
polly
: [botocore
] Added support for the new voice - Jihye (ko-KR). Jihye is available as a Neural voice only. - api-change:
rds
: [botocore
] Add note about the Availability Zone where RDS restores the DB cluster for the RestoreDBClusterToPointInTime operation. - api-change:
wafv2
: [botocore
] This release adds the ability to associate an AWS WAF v2 web ACL with an AWS Amplify App.
v1.37.20
=======
- api-change:
bedrock-agent
: [botocore
] Adding support for Amazon OpenSearch Managed clusters as a vector database in Knowledge Bases for Amazon Bedrock - api-change:
eks
: [botocore
] Added support to override upgrade-blocking readiness checks via force flag when updating a cluster. - api-change:
gameliftstreams
: [botocore
] Minor updates to improve developer experience. - api-change:
keyspaces
: [botocore
] Removing replication region limitation for Amazon Keyspaces Multi-Region Replication APIs. - api-change:
marketplace-entitlement
: [botocore
] This release enhances the GetEntitlements API to support new filter CUSTOMER_AWS_ACCOUNT_ID in request and CustomerAWSAccountId field in response. - api-change:
meteringmarketplace
: [botocore
] This release enhances the BatchMeterUsage API to support new field CustomerAWSAccountId in request and response and making CustomerIdentifier optional. CustomerAWSAccountId or CustomerIdentifier must be provided in request but not both. - api-change:
sagemaker
: [botocore
] This release adds support for customer-managed KMS keys in Amazon SageMaker Partner AI Apps - api-change:
workspaces-thin-client
: [botocore
] Deprecate tags field in Get API responses
v1.37.19
=======
- api-change:
iotwireless
: [botocore
] Mark EutranCid under LteNmr optional. - api-change:
pcs
: [botocore
] ClusterName/ClusterIdentifier, ComputeNodeGroupName/ComputeNodeGroupIdentifier, and QueueName/QueueIdentifier can now have 10 characters, and a minimum of 3 characters. The TagResource API action can now return ServiceQuotaExceededException. - api-change:
qconnect
: [botocore
] Provides the correct value for supported model ID. - api-change:
ssm
: [botocore
] This release adds the AvailableSecurityUpdatesComplianceStatus field to patch baseline operations, as well as the AvailableSecurityUpdateCount and InstancesWithAvailableSecurityUpdates to patch state operations. Applies to Windows Server managed nodes only.
v1.37.18
=======
- api-change:
bedrock
: [botocore
] A CustomModelUnit(CMU) is an abstract view of the hardware utilization that Bedrock needs to host a a single copy of your custom imported model. Bedrock determines the number of CMUs that a model copy needs when you import the custom model. You can use CMUs to estimate the cost of Inference's. - api-change:
datazone
: [botocore
] Add support for overriding selection of default AWS IAM Identity Center instance as part of Amazon DataZone domain APIs. - api-change:
route53-recovery-control-config
: [botocore
] Adds dual-stack (IPv4 and IPv6) endpoint support for route53-recovery-control-config operations, opt-in dual-stack addresses for cluster endpoints, and UpdateCluster API to update the network-type of clusters between IPv4 and dual-stack. - api-change:
sagemaker
: [botocore
] This release does the following: 1.) Adds DurationHours as a required field to the SearchTrainingPlanOfferings action in the SageMaker AI API; 2.) Adds support for G6e instance types for SageMaker AI inference optimization jobs.
v1.37.17
=======
- api-change:
amplify
: [botocore
] Added appId field to Webhook responses - api-change:
bedrock
: [botocore
] With this release, Bedrock Evaluation will now support bring your own inference responses. - api-change:
controlcatalog
: [botocore
] Add ExemptAssumeRoot parameter to adapt for new AWS AssumeRoot capability. - api-change:
mailmanager
: [botocore
] Amazon SES Mail Manager. Extended rule string and boolean expressions to support analysis in condition evaluation. Extended ingress point string expression to support analysis in condition evaluation - api-change:
network-firewall
: [botocore
] You can now use flow operations to either flush or capture traffic monitored in your firewall's flow table.
v1.37.16
=======
- api-change:
bedrock
: [botocore
] Support custom prompt routers for evaluation jobs - api-change:
ec2
: [botocore
] Doc-only updates for EC2 for March 2025. - api-change:
lambda
: [botocore
] Add Ruby 3.4 (ruby3.4) support to AWS Lambda. - api-change:
mediaconnect
: [botocore
] This release adds support for NDI flow outputs in AWS Elemental MediaConnect. You can now send content from your MediaConnect transport streams directly to your NDI environment using the new NDI output type. - api-change:
neptune-graph
: [botocore
] Update IAM Role ARN Validation to Support Role Paths - api-change:
sagemaker
: [botocore
] Added support for g6, g6e, m6i, c6i instance types in SageMaker Processing Jobs.
v1.37.15
=======
- api-change:
appsync
: [botocore
] Providing Tagging support for DomainName in AppSync - api-change:
cleanrooms
: [botocore
] This release adds support for PySpark jobs. Customers can now analyze data by running jobs using approved PySpark analysis templates. - api-change:
mediaconvert
: [botocore
] This release adds support for AVC passthrough, the ability to specify PTS offset without padding, and an A/V segment matching feature. - api-change:
route53
: [botocore
] Amazon Route 53 now supports the iso-f regions for private DNS Amazon VPCs and cloudwatch healthchecks.
v1.37.14
=======
- api-change:
application-signals
: [botocore
] This release adds support for adding, removing, and listing SLO time exclusion windows with the BatchUpdateExclusionWindows and ListServiceLevelObjectiveExclusionWindows APIs. - api-change:
geo-maps
: [botocore
] Provide support for vector map styles in the GetStaticMap operation. - api-change:
rum
: [botocore
] CloudWatch RUM now supports unminification of JS error stack traces. - api-change:
taxsettings
: [botocore
] Adjust Vietnam PaymentVoucherNumber regex and minor API change. - api-change:
wafv2
: [botocore
] AWS WAF now lets you inspect fragments of request URIs. You can specify the scope of the URI to inspect and narrow the set of URI fragments.
v1.37.13
=======
- api-change:
cognito-identity
: [botocore
] Updated API model build artifacts for identity pools - api-change:
cognito-idp
: [botocore
] Minor description updates to API parameters - api-change:
glue
: [botocore
] This release added AllowFullTableExternalDataAccess to glue catalog resource. - api-change:
lakeformation
: [botocore
] This release added "condition" to LakeFormation OptIn APIs, also added WithPrivilegedAccess flag to RegisterResource and DescribeResource.
v1.37.12
=======
- api-change:
acm-pca
: [botocore
] Private Certificate Authority service now supports P521 and RSA3072 key algorithms. - api-change:
amplify
: [botocore
] Introduced support for Skew Protection. Added enableSkewProtection field to createBranch and updateBranch API. - api-change:
codebuild
: [botocore
] AWS CodeBuild now supports webhook filtering by organization name - api-change:
datazone
: [botocore
] This release adds support to update projects and environments - api-change:
dynamodb
: [botocore
] Generate account endpoints for DynamoDB requests using ARN-sourced account ID when available - api-change:
ec2
: [botocore
] This release changes the CreateLaunchTemplate, CreateLaunchTemplateVersion, ModifyLaunchTemplate CLI and SDKs such that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. - api-change:
ivs-realtime
: [botocore
] IVS Real-Time now offers customers the ability to adjust the participant & composition recording segment duration - api-change:
logs
: [botocore
] Updated CreateLogAnomalyDetector to accept only kms key arn - api-change:
mediapackagev2
: [botocore
] This release adds the ResetChannelState and ResetOriginEndpointState operation to reset MediaPackage V2 channel and origin endpoint. This release also adds a new field, UrlEncodeChildManifest, for HLS/LL-HLS to allow URL-encoding child manifest query string based on the requirements of AWS SigV4. - api-change:
s3control
: [botocore
] Updating GetDataAccess response for S3 Access Grants to include the matched Grantee for the requested prefix
v1.37.11
=======
- api-change:
ec2
: [botocore
] This release adds the GroupLongName field to the response of the DescribeAvailabilityZones API. - api-change:
ecr
: [botocore
] This release adds Amazon ECR to Amazon ECR pull through cache rules support. - api-change:
ecs
: [botocore
] This is a documentation only update for Amazon ECS to address various tickets. - api-change:
inspector2
: [botocore
] Adding componentArn to network reachability details - api-change:
medialive
: [botocore
] Add an enum option DISABLED for Output Locking Mode under Global Configuration.
v1.37.10
=======
- api-change:
bedrock-agent
: [botocore
] Add support for computer use tools - api-change:
bedrock-agent-runtime
: [botocore
] Add support for computer use tools - api-change:
ce
: [botocore
] Releasing minor partition endpoint updates. - api-change:
connect
: [botocore
] Add support for contact transfers in external voice systems. - api-change:
medialive
: [botocore
] Adds defaultFontSize and defaultLineHeight as options in the EbuTtDDestinationSettings within the caption descriptions for an output stream. - api-change:
pca-connector-ad
: [botocore
] PrivateCA Connector for Active Directory now supports dual stack endpoints. This release adds the IpAddressType option to the VpcInformation on a Connector which determines whether the endpoint supports IPv4 only or IPv4 and IPv6 traffic. - api-change:
securityhub
: [botocore
] This release adds new StandardsControlsUpdatable field to the StandardsSubscription resource - api-change:
timestream-influxdb
: [botocore
] This release updates the default value of pprof-disabled from false to true.
v1.37.9
======
- api-change:
bedrock-agent
: [botocore
] Introduces support for Neptune Analytics as a vector data store and adds Context Enrichment Configurations, enabling use cases such as GraphRAG. - api-change:
bedrock-agent-runtime
: [botocore
] Support Multi Agent Collaboration within Inline Agents - api-change:
cloudfront
: [botocore
] Documentation updates for Amazon CloudFront. - api-change:
ec2
: [botocore
] Add serviceManaged field to DescribeAddresses API response. - api-change:
elbv2
: [botocore
] This release adds support for assigning IP addresses to Application Load Balancers from VPC IP Address Manager pools. - api-change:
neptune-graph
: [botocore
] Several small updates to resolve customer requests.
v1.37.8
======
- api-change:
bedrock
: [botocore
] This releases adds support for Custom Prompt Router - api-change:
cloudtrail
: [botocore
] Doc-only update for CloudTrail. - api-change:
ivs-realtime
: [botocore
] IVS Real-Time now offers customers the ability to merge fragmented recordings in the event of a participant disconnect. - api-change:
networkflowmonitor
: [botocore
] This release contains 2 changes. 1: DeleteScope/GetScope/UpdateScope operations now return 404 instead of 500 when the resource does not exist. 2: Expected string format for clientToken fields of CreateMonitorInput/CreateScopeInput/UpdateMonitorInput have been updated to be an UUID based string. - api-change:
redshift-data
: [botocore
] This release adds support for ListStatements API to filter statements by ClusterIdentifier, WorkgroupName, and Database. - api-change:
wafv2
: [botocore
] You can now perform an exact match or rate limit aggregation against the web request's JA4 fingerprint. - api-change:
workspaces
: [botocore
] Added a new ModifyEndpointEncryptionMode API for managing endpoint encryption settings.
v1.37.7
======
- api-change:
bedrock-runtime
: [botocore
] This releases adds support for Custom Prompt Router ARN - api-change:
datasync
: [botocore
] AWS DataSync now supports modifying ServerHostname while updating locations SMB, NFS, and ObjectStorage. - api-change:
gameliftstreams
: [botocore
] New Service: Amazon GameLift Streams delivers low-latency game streaming from AWS global infrastructure to virtually any device with a browser at up to 1080p resolution and 60 fps. - api-change:
iotfleetwise
: [botocore
] This release adds floating point support for CAN/OBD signals and adds support for signed OBD signals. - api-change:
workspaces
: [botocore
] Added DeviceTypeWorkSpacesThinClient type to allow users to access their WorkSpaces through a WorkSpaces Thin Client.
v1.37.6
======
- api-change:
elasticache
: [botocore
] Doc only update, listing 'valkey7' and 'valkey8' as engine options for parameter groups. - api-change:
iot-managed-integrations
: [botocore
] Adding managed integrations APIs for IoT Device Management to setup and control devices across different manufacturers and connectivity protocols. APIs include managedthing operations, credential and provisioning profile management, notification configuration, and OTA update. - api-change:
iotsitewise
: [botocore
] AWS IoT SiteWise now supports MQTT-enabled, V3 gateways. Configure data destinations for real-time ingestion into AWS IoT SiteWise or buffered ingestion using Amazon S3 storage. You can also use path filters for precise data collection from specific MQTT topics. - api-change:
rds
: [botocore
] Note support for Database Insights for Amazon RDS.
v1.37.5
======
- api-change:
cognito-idp
: [botocore
] Added the capacity to return available challenges in admin authentication and to set version 3 of the pre token generation event for M2M ATC. - api-change:
ec2
: [botocore
] Update the DescribeVpcs response - api-change:
qbusiness
: [botocore
] Adds support for the ingestion of audio and video files by Q Business, which can be configured with the mediaExtractionConfiguration parameter. - api-change:
rum
: [botocore
] Add support for PutResourcePolicy, GetResourcePolicy and DeleteResourcePolicy to support resource based policies for AWS CloudWatch RUM - api-change:
sagemaker
: [botocore
] Add DomainId to CreateDomainResponse - api-change:
transcribe
: [botocore
] Updating documentation for post call analytics job queueing. - enhancement:configuration: [
botocore
] Add support for disabling host prefix injection via theAWS_DISABLE_HOST_PREFIX_INJECTION
environment variable or thedisable_host_prefix_injection
parameter in the shared aws configuration file.
v1.37.4
======
- api-change:
bedrock-agent
: [botocore
] This release lets Amazon Bedrock Flows support newer models by increasing the maximum length of output in a prompt configuration. This release also increases the maximum number of prompt variables to 20 and the maximum number of node inputs to 20. - api-change:
bedrock-data-automation
: [botocore
] Renamed and added new StandardConfiguration enums. Added support to update EncryptionConfiguration in UpdateBlueprint and UpdateDataAutomation APIs. Changed HttpStatus code for DeleteBlueprint and DeleteDataAutomationProject APIs to 200 from 204. Added APIs to support tagging. - api-change:
bedrock-data-automation-runtime
: [botocore
] Added a mandatory parameter DataAutomationProfileArn to support for cross region inference for InvokeDataAutomationAsync API. Renamed DataAutomationArn to DataAutomationProjectArn. Added APIs to support tagging. - api-change:
dms
: [botocore
] Add skipped status to the Result Statistics of an Assessment Run - api-change:
eks
: [botocore
] Adding licenses to EKS Anywhere Subscription operations response. - api-change:
mediaconvert
: [botocore
] The AWS MediaConvert Probe API allows you to analyze media files and retrieve detailed metadata about their content, format, and structure. - api-change:
pricing
: [botocore
] Update GetProducts and DescribeServices API request input validations. - api-change:
ssm
: [botocore
] Systems Manager doc-only updates for Feb. 2025. - enhancement:useragent: [
botocore
] Update user agent string to include client feature use.
v1.37.3
=======
- api-change:
arc-zonal-shift
: [botocore
] Updates to documentation and exception types for Zonal Autoshift - api-change:
budgets
: [botocore
] Releasing the new Budget FilterExpression and Metrics fields to support more granular filtering options. These new fields are intended to replace CostFilters and CostTypes, which are deprecated as of 2025/18/04. - api-change:
firehose
: [botocore
] Documentation update regarding the number of streams you can create using the CreateDeliveryStream API. - api-change:
mediatailor
: [botocore
] Added support for Recurring Prefetch and Traffic Shaping on both Single and Recurring Prefetch. ListPrefetchSchedules now return single prefetchs by default and can be provided scheduleType of SINGLE, RECURRING, AND ALL. - api-change:
qbusiness
: [botocore
] The CheckDocumentAccess API for Amazon Q Business is a self-service debugging API that allows administrators to verify document access permissions and review Access Control List (ACL) configurations.
v1.37.2
=======
- api-change:
bedrock
: [botocore
] New options for how to handle harmful content detected by Amazon Bedrock Guardrails. - api-change:
bedrock-runtime
: [botocore
] New options for how to handle harmful content detected by Amazon Bedrock Guardrails. - api-change:
codebuild
: [botocore
] AWS CodeBuild now offers an enhanced debugging experience. - api-change:
glue
: [botocore
] Add input validations for multiple Glue APIs - api-change:
medialive
: [botocore
] AWS Elemental MediaLive now supports SDI inputs to MediaLive Anywhere Channels in workflows that use AWS SDKs. - api-change:
personalize
: [botocore
] Add support for eventsConfig for CreateSolution, UpdateSolution, DescribeSolution, DescribeSolutionVersion. Add support for GetSolutionMetrics to return weighted NDCG metrics when eventsConfig is enabled for the solution. - api-change:
transfer
: [botocore
] This launch enables customers to manage contents of their remote directories, by deleting old files or moving files to archive folders in remote servers once they have been retrieved. Customers will be able to automate the process using event-driven architecture.
v1.37.1
=======
- api-change:
iotwireless
: [botocore
] Mark EutranCid under LteNmr optional. - api-change:
pcs
: [botocore
] ClusterName/ClusterIdentifier, ComputeNodeGroupName/ComputeNodeGroupIdentifier, and QueueName/QueueIdentifier can now have 10 characters, and a minimum of 3 characters. The TagResource API action can now return ServiceQuotaExceededException. - api-change:
qconnect
: [botocore
] Provides the correct value for supported model ID. - api-change:
ssm
: [botocore
] This release adds the AvailableSecurityUpdatesComplianceStatus field to patch baseline operations, as well as the AvailableSecurityUpdateCount and InstancesWithAvailableSecurityUpdates to patch state operations. Applies to Windows Server managed nodes only.
v1.37.0
======
- api-change:
bedrock-agent
: [botocore
] This release improves support for newer models in Amazon Bedrock Flows. - api-change:
bedrock-agent-runtime
: [botocore
] Adding support for ReasoningContent fields in Pre-Processing, Post-Processing and Orchestration Trace outputs. - api-change:
bedrock-runtime
: [botocore
] This release adds Reasoning Content support to Converse and ConverseStream APIs - api-change:
elasticache
: [botocore
] Documentation update, adding clarity and rephrasing. - api-change:
elastic-inference
: [botocore
] The elastic-inference client has been removed following the deprecation of the service. - feature:Endpoints: [
botocore
] Generate and use AWS-account-based endpoints for compatible services when the account ID is available. At launch, DynamoDB is the first and only compatible service. The new endpoint URL pattern will behttps://<account-id>.ddb.<region>.amazonaws.com
. Additional services may be added in the future. See the documentation for details: https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html
v1.36.26
=======
- api-change:
appstream
: [botocore
] Added support for Certificate-Based Authentication on AppStream 2.0 multi-session fleets. - api-change:
bedrock-agent
: [botocore
] Introduce a new parameter which represents the user-agent header value used by the Bedrock Knowledge Base Web Connector.
v1.36.25
=======
- api-change:
codebuild
: [botocore
] Add webhook status and status message to AWS CodeBuild webhooks - api-change:
guardduty
: [botocore
] Reduce the minimum number of required attack sequence signals from 2 to 1 - api-change:
license-manager-user-subscriptions
: [botocore
] Updates entity to include Microsoft RDS SAL as a valid type of user subscription. - api-change:
rds
: [botocore
] CloudWatch Database Insights now supports Amazon RDS. - api-change:
sagemaker
: [botocore
] Added new capability in the UpdateCluster operation to remove instance groups from your SageMaker HyperPod cluster. - api-change:
workspaces-web
: [botocore
] Add support for toolbar configuration under user settings.
v1.36.24
=======
- api-change:
codepipeline
: [botocore
] Add environment variables to codepipeline action declaration. - api-change:
ecs
: [botocore
] This is a documentation only release for Amazon ECS that supports the CPU task limit increase. - api-change:
lightsail
: [botocore
] Documentation updates for Amazon Lightsail. - api-change:
location
: [botocore
] Adds support for larger property maps for tracking and geofence positions changes. It increases the maximum number of items from 3 to 4, and the maximum value length from 40 to 150. - api-change:
mailmanager
: [botocore
] This release adds additional metadata fields in Mail Manager archive searches to show email source and details about emails that were archived when being sent with SES. - api-change:
network-firewall
: [botocore
] This release introduces Network Firewall's Automated Domain List feature. New APIs include UpdateFirewallAnalysisSettings, StartAnalysisReport, GetAnalysisReportResults, and ListAnalysisReports. These allow customers to enable analysis on firewalls to identify and report frequently accessed domain. - api-change:
sagemaker
: [botocore
] Adds r8g instance type support to SageMaker Realtime Endpoints - api-change:
sesv2
: [botocore
] This release adds the ability for outbound email sent with SES to preserve emails to a Mail Manager archive.
v1.36.23
=======
- api-change:
batch
: [botocore
] This documentation-only update corrects some typos. - api-change:
emr-containers
: [botocore
] EMR on EKS StartJobRun Api will be supporting the configuration of log storage in AWS by using "managedLogs" under "MonitoringConfiguration". - api-change:
medialive
: [botocore
] Adds support for creating CloudWatchAlarmTemplates for AWS Elemental MediaTailor Playback Configuration resources.
v1.36.22
=======
- api-change:
amplify
: [botocore
] Add ComputeRoleArn to CreateApp, UpdateApp, CreateBranch, and UpdateBranch, allowing caller to specify a role to be assumed by Amplify Hosting for server-side rendered applications. - api-change:
dms
: [botocore
] Support replicationConfigArn in DMS DescribeApplicableIndividualAssessments API. - api-change:
timestream-influxdb
: [botocore
] This release introduces APIs to manage DbClusters and adds support for read replicas - enhancement:Parsers: [
botocore
] Minor Parser updates to support the new smithy-generated protocol tests. Seeboto/botocore#3247 <https://github.com/boto/botocore/pull/3247>
__ for more details.
v1.36.21
=======
- api-change:
codebuild
: [botocore
] Added test suite names to test case metadata - api-change:
connect
: [botocore
] Release Notes: 1) Analytics API enhancements: Added new ListAnalyticsDataLakeDataSets API. 2) Onboarding API Idempotency: Adds ClientToken to instance creation and management APIs to support idempotency. - api-change:
dms
: [botocore
] Introduces premigration assessment feature to DMS Serverless API for start-replication and describe-replications - api-change:
rds-data
: [botocore
] Add support for Stop DB feature. - api-change:
s3
: [botocore
] Added support for Content-Range header in HeadObject response. - api-change:
wafv2
: [botocore
] The WAFv2 API now supports configuring data protection in webACLs. - api-change:
workspaces-thin-client
: [botocore
] Update Environment and Device name field definitions
v1.36.20
=======
- api-change:
accessanalyzer
: [botocore
] This release introduces the getFindingsStatistics API, enabling users to retrieve aggregated finding statistics for IAM Access Analyzer's external access and unused access analysis features. Updated service API and documentation. - api-change:
acm-pca
: [botocore
] Private Certificate Authority (PCA) documentation updates - api-change:
ecs
: [botocore
] This is a documentation only release to support migrating Amazon ECS service ARNs to the long ARN format. - api-change:
fis
: [botocore
] Adds auto-pagination for the following operations: ListActions, ListExperimentTemplates, ListTargetAccountConfigurations, ListExperiments, ListExperimentResolvedTargets, ListTargetResourceTypes. Reduces length constraints of prefixes for logConfiguration and experimentReportConfiguration. - api-change:
sagemaker
: [botocore
] Adds additional values to the InferenceAmiVersion parameter in the ProductionVariant data type. - api-change:
storagegateway
: [botocore
] This release adds support for generating cache reports on S3 File Gateways for files that fail to upload.
v1.36.19
=======
- api-change:
b2bi
: [botocore
] Allow spaces in the following fields in the Partnership resource: ISA 06 - Sender ID, ISA 08 - Receiver ID, GS 02 - Application Sender Code, GS 03 - Application Receiver Code - api-change:
bedrock-agent
: [botocore
] This releases adds the additionalModelRequestFields field to the CreateAgent and UpdateAgent operations. Use additionalModelRequestFields to specify additional inference parameters for a model beyond the base inference parameters. - api-change:
bedrock-agent-runtime
: [botocore
] This releases adds the additionalModelRequestFields field to the InvokeInlineAgent operation. Use additionalModelRequestFields to specify additional inference parameters for a model beyond the base inference parameters. - api-change:
codebuild
: [botocore
] Add note for the RUNNER_BUILDKITE_BUILD buildType. - api-change:
fsx
: [botocore
] Support for in-place Lustre version upgrades - api-change:
medialive
: [botocore
] Adds a RequestId parameter to all MediaLive Workflow Monitor create operations. The RequestId parameter allows idempotent operations. - api-change:
opensearchserverless
: [botocore
] Custom OpenSearchServerless Entity ID for SAML Config. - api-change:
polly
: [botocore
] Added support for the new voice - Jasmine (en-SG). Jasmine is available as a Neural voice only. - enhancement:Protocols: [
botocore
] Added support for multiple protocols within a service based on performance priority.
v1.36.18
=======
- api-change:
acm-pca
: [botocore
] Private Certificate Authority service now supports Partitioned CRL as a revocation configuration option. - api-change:
appsync
: [botocore
] Add support for operation level caching - api-change:
ec2
: [botocore
] Adding support for the new fullSnapshotSizeInBytes field in the response of the EC2 EBS DescribeSnapshots API. This field represents the size of all the blocks that were written to the source volume at the time the snapshot was created. - api-change:
pi
: [botocore
] Documentation only update for RDS Performance Insights dimensions for execution plans and locking analysis.
v1.36.17
=======
- api-change:
apigatewayv2
: [botocore
] Documentation updates for Amazon API Gateway - api-change:
cloudfront
: [botocore
] Doc-only update that adds defaults for CloudFront VpcOriginEndpointConfig values. - api-change:
connect
: [botocore
] Updated the CreateContact API documentation to indicate that it only applies to EMAIL contacts. - api-change:
dms
: [botocore
] New vendors for DMS Data Providers: DB2 LUW and DB2 for z/OS
v1.36.16
=======
- api-change:
ecr
: [botocore
] Adds support to handle the new basic scanning daily quota. - api-change:
eks
: [botocore
] Introduce versionStatus field to take place of status field in EKS DescribeClusterVersions API - api-change:
mediaconvert
: [botocore
] This release adds support for Animated GIF output, forced chroma sample positioning metadata, and Extensible Wave Container format - api-change:
pi
: [botocore
] Adds documentation for dimension groups and dimensions to analyze locks for Database Insights. - api-change:
transcribe
: [botocore
] This release adds support for the Clinical Note Template Customization feature for the AWS HealthScribe APIs within Amazon Transcribe.
v1.36.15
=======
- api-change:
cloudformation
: [botocore
] We added 5 new stack refactoring APIs: CreateStackRefactor, ExecuteStackRefactor, ListStackRefactors, DescribeStackRefactor, ListStackRefactorActions. - api-change:
connectcases
: [botocore
] This release adds the ability to conditionally require fields on a template. Check public documentation for more information. - api-change:
cost-optimization-hub
: [botocore
] This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon Auto Scaling Groups, including those with single and mixed instance types. - api-change:
s3
: [botocore
] Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets. - enhancement:Eventsteam: [
botocore
] The SDK no longer validates payload size for eventstreams. This is to facilitate varying payload requirements across AWS services.
v1.36.14
=======
- api-change:
rds
: [botocore
] Documentation updates to clarify the description for the parameter AllocatedStorage for the DB cluster data type, the description for the parameter DeleteAutomatedBackups for the DeleteDBCluster API operation, and removing an outdated note for the CreateDBParameterGroup API operation.
v1.36.13
=======
- api-change:
datasync
: [botocore
] Doc-only update to provide more information on using Kerberos authentication with SMB locations. - api-change:
dms
: [botocore
] Introduces TargetDataSettings with the TablePreparationMode option available for data migrations. - api-change:
iam
: [botocore
] This release adds support for accepting encrypted SAML assertions. Customers can now configure their identity provider to encrypt the SAML assertions it sends to IAM. - api-change:
neptune-graph
: [botocore
] Added argument tolist-export
to filter by graph ID - api-change:
qbusiness
: [botocore
] Adds functionality to enable/disable a new Q Business Chat orchestration feature. If enabled, Q Business can orchestrate over datasources and plugins without the need for customers to select specific chat modes. - api-change:
sagemaker
: [botocore
] IPv6 support for Hyperpod clusters
v1.36.12
=======
- api-change:
mediatailor
: [botocore
] Add support for CloudWatch Vended Logs which allows for delivery of customer logs to CloudWatch Logs, S3, or Firehose.
v1.36.11
=======
- api-change:
amp
: [botocore
] Add support for sending metrics to cross account and CMCK AMP workspaces through RoleConfiguration on Create/Update Scraper. - api-change:
bedrock-agent-runtime
: [botocore
] This change is to deprecate the existing citation field under RetrieveAndGenerateStream API response in lieu of GeneratedResponsePart and RetrievedReferences - api-change:
codebuild
: [botocore
] Added support for CodeBuild self-hosted Buildkite runner builds - api-change:
geo-routes
: [botocore
] The OptimizeWaypoints API now supports 50 waypoints per request (20 with constraints like AccessHours or AppointmentTime). It adds waypoint clustering via Clustering and ClusteringIndex for better optimization. Also, total distance validation is removed for greater flexibility. - api-change:
rds
: [botocore
] Updates to Aurora MySQL and Aurora PostgreSQL API pages with instance log type in the create and modify DB Cluster. - api-change:
sagemaker
: [botocore
] This release introduces a new valid value in InstanceType parameter: p5en.48xlarge, in ProductionVariant.
v1.36.10
=======
- api-change:
appstream
: [botocore
] Add support for managing admin consent requirement on selected domains for OneDrive Storage Connectors in AppStream2.0. - api-change:
bedrock-agent-runtime
: [botocore
] Add a 'reason' field to InternalServerException - api-change:
ecr
: [botocore
] Temporarily updating dualstack endpoint support - api-change:
ecr-public
: [botocore
] Temporarily updating dualstack endpoint support - api-change:
mediatailor
: [botocore
] Adds options for configuring how MediaTailor conditions ads before inserting them into the content stream. Based on the new settings, MediaTailor will either transcode ads to match the content stream as it has in the past, or it will insert ads without first transcoding them. - api-change:
qbusiness
: [botocore
] Added APIs to manage QBusiness user subscriptions - api-change:
s3tables
: [botocore
] You can now use the CreateTable API operation to create tables with schemas by adding an optional metadata argument. - api-change:
verifiedpermissions
: [botocore
] Adds Cedar JSON format support for entities and context data in authorization requests - enhancement:AWSCRT: [
botocore
] Update awscrt version to 0.23.8
v1.36.9
======
- api-change:
bcm-pricing-calculator
: [botocore
] Added ConflictException error type in DeleteBillScenario, BatchDeleteBillScenarioCommitmentModification, BatchDeleteBillScenarioUsageModification, BatchUpdateBillScenarioUsageModification, and BatchUpdateBillScenarioCommitmentModification API operations. - api-change:
ecr
: [botocore
] Add support for Dualstack and Dualstack-with-FIPS Endpoints - api-change:
ecr-public
: [botocore
] Add support for Dualstack Endpoints - api-change:
mailmanager
: [botocore
] This release includes a new feature for Amazon SES Mail Manager which allows customers to specify known addresses and domains and make use of those in traffic policies and rules actions to distinguish between known and unknown entries. - api-change:
s3
: [botocore
] Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long.
v1.36.8
======
- api-change:
appsync
: [botocore
] Add stash and outErrors to EvaluateCode/EvaluateMappingTemplate response - api-change:
datasync
: [botocore
] AWS DataSync now supports the Kerberos authentication protocol for SMB locations. - api-change:
deadline
: [botocore
] feature: Deadline: Add support for limiting the concurrent usage of external resources, like floating licenses, using limits and the ability to constrain the maximum number of workers that work on a job - api-change:
ec2
: [botocore
] This release changes the CreateFleet CLI and SDK's such that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. - api-change:
firehose
: [botocore
] For AppendOnly streams, Firehose will automatically scale to match your throughput. - api-change:
timestream-influxdb
: [botocore
] Adds 'allocatedStorage' parameter to UpdateDbInstance API that allows increasing the database instance storage size and 'dbStorageType' parameter to UpdateDbInstance API that allows changing the storage type of the database instance
v1.36.7
======
- api-change:
bedrock-agent
: [botocore
] Add support for the prompt caching feature for Bedrock Prompt Management - api-change:
iot
: [botocore
] Raised the documentParameters size limit to 30 KB for AWS IoT Device Management - Jobs. - api-change:
mediaconvert
: [botocore
] This release adds support for dynamic audio configuration and the ability to disable the deblocking filter for h265 encodes. - api-change:
s3control
: [botocore
] Minor fix to ARN validation for Lambda functions passed to S3 Batch Operations - bugfix:Signing: [
botocore
] No longer sign transfer-encoding header for SigV4
v1.36.6
======
- api-change:
cloudtrail
: [botocore
] This release introduces the SearchSampleQueries API that allows users to search for CloudTrail Lake sample queries. - api-change:
eks
: [botocore
] Adds support for UpdateStrategies in EKS Managed Node Groups. - api-change:
healthlake
: [botocore
] Added new authorization strategy value 'SMART_ON_FHIR' for CreateFHIRDatastore API to support Smart App 2.0 - api-change:
ssm
: [botocore
] Systems Manager doc-only update for January, 2025. - api-change:
sso-oidc
: [botocore
] Fixed typos in the descriptions. - api-change:
transfer
: [botocore
] Added CustomDirectories as a new directory option for storing inbound AS2 messages, MDN files and Status files.
v1.36.5
======
- api-change:
ec2
: [botocore
] Added "future" allocation type for future dated capacity reservation
v1.36.4
======
- api-change:
bedrock-agent-runtime
: [botocore
] Adds multi-turn input support for an Agent node in an Amazon Bedrock Flow - api-change:
glue
: [botocore
] Docs Update for timeout changes - api-change:
medialive
: [botocore
] AWS Elemental MediaLive adds a new feature, ID3 segment tagging, in CMAF Ingest output groups. It allows customers to insert ID3 tags into every output segment, controlled by a newly added channel schedule action Id3SegmentTagging. - api-change:
workspaces-thin-client
: [botocore
] Rename WorkSpaces Web to WorkSpaces Secure Browser
v1.36.3
======
- api-change:
batch
: [botocore
] Documentation-only update: clarified the description of the shareDecaySeconds parameter of the FairsharePolicy data type, clarified the description of the priority parameter of the JobQueueDetail data type. - api-change:
cognito-idp
: [botocore
] corrects the dual-stack endpoint configuration for cognitoidp - api-change:
connect
: [botocore
] Added DeleteContactFlowVersion API and the CAMPAIGN flow type - api-change:
emr-serverless
: [botocore
] Increasing entryPoint in SparkSubmit to accept longer script paths. New limit is 4kb. - api-change:
iotsitewise
: [botocore
] AWS IoT SiteWise now supports ingestion and querying of Null (all data types) and NaN (double type) values of bad or uncertain data quality. New partial error handling prevents data loss during ingestion. Enabled by default for new customers; existing customers can opt-in. - api-change:
logs
: [botocore
] Documentation-only update to address doc errors - api-change:
quicksight
: [botocore
] AddedDigitGroupingStyle
in ThousandsSeparator to allow grouping byLAKH
( Indian Grouping system ) currency. Support LAKH andCRORE
currency types in Column Formatting. - api-change:
sns
: [botocore
] This release adds support for the topic attribute FifoThroughputScope for SNS FIFO topics. For details, see the documentation history in the Amazon Simple Notification Service Developer Guide.
v1.36.2
=======
- api-change:
appstream
: [botocore
] Added support for Certificate-Based Authentication on AppStream 2.0 multi-session fleets. - api-change:
bedrock-agent
: [botocore
] Introduce a new parameter which represents the user-agent header value used by the Bedrock Knowledge Base Web Connector.
v1.36.1
=======
- api-change:
b2bi
: [botocore
] Allow spaces in the following fields in the Partnership resource: ISA 06 - Sender ID, ISA 08 - Receiver ID, GS 02 - Application Sender Code, GS 03 - Application Receiver Code - api-change:
bedrock-agent
: [botocore
] This releases adds the additionalModelRequestFields field to the CreateAgent and UpdateAgent operations. Use additionalModelRequestFields to specify additional inference parameters for a model beyond the base inference parameters. - api-change:
bedrock-agent-runtime
: [botocore
] This releases adds the additionalModelRequestFields field to the InvokeInlineAgent operation. Use additionalModelRequestFields to specify additional inference parameters for a model beyond the base inference parameters. - api-change:
codebuild
: [botocore
] Add note for the RUNNER_BUILDKITE_BUILD buildType. - api-change:
fsx
: [botocore
] Support for in-place Lustre version upgrades - api-change:
medialive
: [botocore
] Adds a RequestId parameter to all MediaLive Workflow Monitor create operations. The RequestId parameter allows idempotent operations. - api-change:
opensearchserverless
: [botocore
] Custom OpenSearchServerless Entity ID for SAML Config. - api-change:
polly
: [botocore
] Added support for the new voice - Jasmine (en-SG). Jasmine is available as a Neural voice only. - enhancement:Protocols: [
botocore
] Added support for multiple protocols within a service based on performance priority.
v1.36.0
======
- api-change:
apigateway
: [botocore
] Documentation updates for Amazon API Gateway - api-change:
bedrock-agent-runtime
: [botocore
] Now supports streaming for inline agents. - api-change:
cognito-identity
: [botocore
] corrects the dual-stack endpoint configuration - api-change:
partnercentral-selling
: [botocore
] Add Tagging support for ResourceSnapshotJob resources - api-change:
s3
: [botocore
] This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests. - api-change:
security-ir
: [botocore
] Increase minimum length of Threat Actor IP 'userAgent' to 1. - api-change:
sesv2
: [botocore
] This release introduces a new recommendation in Virtual Deliverability Manager Advisor, which detects elevated complaint rates for customer sending identities. - api-change:
workspaces
: [botocore
] Added GeneralPurpose.4xlarge & GeneralPurpose.8xlarge ComputeTypes. - api-change:
workspaces-thin-client
: [botocore
] Mark type in MaintenanceWindow as required. - enhancement:AWSCRT: [
botocore
] Update awscrt version to 0.23.4 - feature:
s3
: [botocore
] The S3 client attempts to validate response checksums for all S3 API operations that support checksums. However, if the SDK has not implemented the specified checksum algorithm then this validation is skipped. Checksum validation behavior can be configured using thewhen_supported
andwhen_required
options - in code using theresponse_checksum_validation
parameter forbotocore.config.Config
, in the shared AWS config file usingresponse_checksum_validation
, or as an env variable usingAWS_RESPONSE_CHECKSUM_VALIDATION
. - feature:
s3
: [botocore
] Added support for the CRC64NVME checksum algorithm in the S3 client through the optional AWS CRT (awscrt
) dependency. - feature:
s3
: [botocore
] S3 client behavior is updated to always calculate a CRC32 checksum by default for operations that support it (such as PutObject or UploadPart), or require it (such as DeleteObjects). Checksum behavior can be configured usingwhen_supported
andwhen_required
options - in code using therequest_checksum_calculation
parameter forbotocore.config.Config
, in the shared AWS config file usingrequest_checksum_calculation
, or as an env variable usingAWS_REQUEST_CHECKSUM_CALCULATION
. Note: Botocore will no longer automatically compute and populate the Content-MD5 header.
v1.35.99
=======
- api-change:
gamelift
: [botocore
] Amazon GameLift releases a new game session placement feature: PriorityConfigurationOverride. You can now override how a game session queue prioritizes placement locations for a single StartGameSessionPlacement request. - api-change:
route53
: [botocore
] Amazon Route 53 now supports the Mexico (Central) Region (mx-central-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region
v1.35.98
=======
- api-change:
artifact
: [botocore
] Support resolving regional API calls to partition's leader region endpoint. - api-change:
bedrock
: [botocore
] With this release, Bedrock Evaluation will now support latency-optimized inference for foundation models. - api-change:
ec2
: [botocore
] Add support for DisconnectOnSessionTimeout flag in CreateClientVpnEndpoint and ModifyClientVpnEndpoint requests and DescribeClientVpnEndpoints responses - api-change:
kafkaconnect
: [botocore
] Support updating connector configuration via UpdateConnector API. Release Operations API to monitor the status of the connector operation. - api-change:
transcribe
: [botocore
] This update provides tagging support for Transcribe's Call Analytics Jobs and Call Analytics Categories.
v1.35.97
=======
- api-change:
redshift
: [botocore
] Additions to the PubliclyAccessible and Encrypted parameters clarifying what the defaults are. - api-change:
securitylake
: [botocore
] Doc only update for ServiceName that fixes several customer-reported issues - api-change:
sts
: [botocore
] Fixed typos in the descriptions.
v1.35.96
=======
- api-change:
codebuild
: [botocore
] AWS CodeBuild Now Supports BuildBatch in Reserved Capacity and Lambda - api-change:
compute-optimizer
: [botocore
] This release expands AWS Compute Optimizer rightsizing recommendation support for Amazon EC2 Auto Scaling groups to include those with scaling policies and multiple instance types. - api-change:
fms
: [botocore
] AWS Firewall Manager now lets you combine multiple resource tags using the logical AND operator or the logical OR operator.
v1.35.95
=======
- api-change:
rds
: [botocore
] Updates Amazon RDS documentation to clarify the RestoreDBClusterToPointInTime description. - api-change:
route53
: [botocore
] Amazon Route 53 now supports the Asia Pacific (Thailand) Region (ap-southeast-7) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region - api-change:
sagemaker
: [botocore
] Adds support for IPv6 for SageMaker HyperPod cluster nodes.
v1.35.94
=======
- api-change:
cloudhsmv2
: [botocore
] Adds support to ModifyCluster for modifying a Cluster's Hsm Type. - api-change:
dynamodb
: [botocore
] This release makes Amazon DynamoDB point-in-time-recovery (PITR) to be configurable. You can set PITR recovery period for each table individually to between 1 and 35 days. - api-change:
imagebuilder
: [botocore
] This release adds support for importing images from ISO disk files. Added new ImportDiskImage API operation.
v1.35.93
=======
- api-change:
iotsecuretunneling
: [botocore
] Adds dualstack endpoint support for IoT Secure Tunneling - api-change:
supplychain
: [botocore
] Allow vanity DNS domain when creating a new ASC instance
v1.35.92
=======
- api-change:
ecs
: [botocore
] Adding SDK reference examples for Amazon ECS operations. - api-change:
route53domains
: [botocore
] Doc only update for Route 53 Domains that fixes several customer-reported issues - api-change:
s3
: [botocore
] This change is only for updating the model regexp of CopySource which is not for validation but only for documentation and user guide change.
v1.35.91
=======
- api-change:
appsync
: [botocore
] Modify UpdateGraphQLAPI operation and flag authenticationType as required. - api-change:
gamelift
: [botocore
] Amazon GameLift releases a new game session shutdown feature. Use the Amazon GameLift console or AWS CLI to terminate an in-progress game session that's entered a bad state or is no longer needed. - api-change:
mediaconnect
: [botocore
] AWS Elemental MediaConnect now supports Content Quality Analysis for enhanced source stream monitoring. This enables you to track specific audio and video metrics in transport stream source flows, ensuring your content meets quality standards. - api-change:
mediaconvert
: [botocore
] This release adds support for the AVC3 codec and fixes an alignment issue with Japanese vertical captions. - api-change:
organizations
: [botocore
] Added ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED to ConstraintViolationException for the EnableAllFeatures operation. - api-change:
sagemaker
: [botocore
] Adding ETag information with Model Artifacts for Model Registry - api-change:
sqs
: [botocore
] In-flight message typo fix from 20k to 120k.
v1.35.90
=======
- api-change:
ecr
: [botocore
] Restoring custom endpoint functionality for ECR - api-change:
ecr-public
: [botocore
] Restoring custom endpoint functionality for ECR Public
v1.35.89
=======
- api-change:
rds
: [botocore
] Updates Amazon RDS documentation to correct various descriptions.
v1.35.88
=======
- api-change:
bcm-pricing-calculator
: [botocore
] Added ConflictException to DeleteBillEstimate. - api-change:
ecr
: [botocore
] Add support for Dualstack Endpoints - api-change:
network-firewall
: [botocore
] Dual-stack endpoints are now supported. - api-change:
securityhub
: [botocore
] Documentation updates for AWS Security Hub
v1.35.87
=======
- api-change:
ecr
: [botocore
] Documentation update for ECR GetAccountSetting and PutAccountSetting APIs. - api-change:
ecr-public
: [botocore
] Add support for Dualstack endpoints - api-change:
eks
: [botocore
] This release adds support for DescribeClusterVersions API that provides important information about Kubernetes versions along with end of support dates - api-change:
glue
: [botocore
] Add IncludeRoot parameters to GetCatalogs API to return root catalog.
v1.35.86
=======
- api-change:
bedrock-agent
: [botocore
] Support for custom user agent and max web pages crawled for web connector. Support app only credentials for SharePoint connector. Increase agents memory duration limit to 365 days. Support to specify max number of session summaries to include in agent invocation context. - api-change:
bedrock-agent-runtime
: [botocore
] bedrock agents now supports long term memory and performance configs. Invokeflow supports performance configs. RetrieveAndGenerate performance configs - api-change:
bedrock-data-automation
: [botocore
] Documentation update for Amazon Bedrock Data Automation - api-change:
bedrock-data-automation-runtime
: [botocore
] Documentation update for Amazon Bedrock Data Automation Runtime - api-change:
billing
: [botocore
] Added new API's for defining and fetching Billing Views. - api-change:
ce
: [botocore
] Support for retrieving cost, usage, and forecast for billing view. - api-change:
connect
: [botocore
] This release supports adding NotAttributeCondition and Range to the RoutingCriteria object. - api-change:
docdb
: [botocore
] Support AWS Secret Manager managed password for AWS DocumentDB instance-based cluster. - api-change:
eks
: [botocore
] This release expands the catalog of upgrade insight checks - api-change:
macie2
: [botocore
] This release adds support for identifying S3 general purpose buckets that exceed the Amazon Macie quota for preventative control monitoring. - api-change:
outposts
: [botocore
] Add CS8365C as a supported power connector for Outpost sites. - api-change:
sagemaker
: [botocore
] This release adds support for c6i, m6i and r6i instance on SageMaker Hyperpod and trn1 instances in batch
v1.35.85
=======
- api-change:
appstream
: [botocore
] Added support for Rocky Linux 8 on Amazon AppStream 2.0 - api-change:
mediaconvert
: [botocore
] This release adds support for inserting timecode tracks into MP4 container outputs. - api-change:
medialive
: [botocore
] MediaLive is releasing ListVersions api - api-change:
qconnect
: [botocore
] Amazon Q in Connect enables agents to ask Q for assistance in multiple languages and Q will provide answers and recommended step-by-step guides in those languages. Qs default language is English (United States) and you can switch this by setting the locale configuration on the AI Agent. - api-change:
ssm-sap
: [botocore
] AWS Systems Manager for SAP added support for registration and discovery of distributed ABAP applications - api-change:
workspaces
: [botocore
] Added AWS Global Accelerator (AGA) support for WorkSpaces Personal.
v1.35.84
=======
- api-change:
amplify
: [botocore
] Added WAF Configuration to Amplify Apps - api-change:
budgets
: [botocore
] Releasing minor partition endpoint updates - api-change:
connect
: [botocore
] This release adds support for the UpdateParticipantAuthentication API used for customer authentication within Amazon Connect chats. - api-change:
connectparticipant
: [botocore
] This release adds support for the GetAuthenticationUrl and CancelParticipantAuthentication APIs used for customer authentication within Amazon Connect chats. There are also minor updates to the GetAttachment API. - api-change:
datasync
: [botocore
] AWS DataSync introduces the ability to update attributes for in-cloud locations. - api-change:
iot
: [botocore
] Release connectivity status query API which is a dedicated high throughput(TPS) API to query a specific device's most recent connectivity state and metadata. - api-change:
mwaa
: [botocore
] Added support for Apache Airflow version 2.10.3 to MWAA. - api-change:
quicksight
: [botocore
] Add support for PerformanceConfiguration attribute to Dataset entity. Allow PerformanceConfiguration specification in CreateDataset and UpdateDataset APIs. - api-change:
resiliencehub
: [botocore
] AWS Resilience Hub now automatically detects already configured CloudWatch alarms and FIS experiments as part of the assessment process and returns the discovered resources in the corresponding list API responses. It also allows you to include or exclude test recommendations for an AppComponent. - api-change:
transfer
: [botocore
] Added AS2 agreement configurations to control filename preservation and message signing enforcement. Added AS2 connector configuration to preserve content type from S3 objects.
v1.35.83
=======
- api-change:
account
: [botocore
] Update endpoint configuration. - api-change:
backup
: [botocore
] Add Support for Backup Indexing - api-change:
backupsearch
: [botocore
] Add support for searching backups - api-change:
batch
: [botocore
] This feature allows AWS Batch on Amazon EKS to support configuration of Pod Annotations, overriding Namespace on which the Batch job's Pod runs on, and allows Subpath and Persistent Volume claim to be set for AWS Batch on Amazon EKS jobs. - api-change:
cleanroomsml
: [botocore
] Add support for SQL compute configuration for StartAudienceGenerationJob API. - api-change:
cloudfront
: [botocore
] Adds support for OriginReadTimeout and OriginKeepaliveTimeout to create CloudFront Distributions with VPC Origins. - api-change:
codepipeline
: [botocore
] AWS CodePipeline V2 type pipelines now support Managed Compute Rule. - api-change:
ecs
: [botocore
] Added support for enableFaultInjection task definition parameter which can be used to enable Fault Injection feature on ECS tasks. - api-change:
m2
: [botocore
] This release adds support for AWS Mainframe Modernization(M2) Service to allow specifying network type(ipv4, dual) for the environment instances. For dual network type, m2 environment applications will serve both IPv4 and IPv6 requests, whereas for ipv4 it will serve only IPv4 requests. - api-change:
synthetics
: [botocore
] Add support to toggle outbound IPv6 traffic on canaries connected to dualstack subnets. This behavior can be controlled via the new Ipv6AllowedForDualStack parameter of the VpcConfig input object in CreateCanary and UpdateCanary APIs.
v1.35.82
=======
- api-change:
cloud9
: [botocore
] Added information about Ubuntu 18.04 will be removed from the available imageIds for Cloud9 because Ubuntu 18.04 has ended standard support on May 31, 2023. - api-change:
dlm
: [botocore
] This release adds support for Local Zones in Amazon Data Lifecycle Manager EBS snapshot lifecycle policies. - api-change:
ec2
: [botocore
] This release adds support for EBS local snapshots in AWS Dedicated Local Zones, which allows you to store snapshots of EBS volumes locally in Dedicated Local Zones. - api-change:
greengrassv2
: [botocore
] Add support for runtime in GetCoreDevice and ListCoreDevices APIs. - api-change:
medialive
: [botocore
] AWS Elemental MediaLive adds three new features: MediaPackage v2 endpoint support for live stream delivery, KLV metadata passthrough in CMAF Ingest output groups, and Metadata Name Modifier in CMAF Ingest output groups for customizing metadata track names in output streams. - api-change:
rds
: [botocore
] This release adds support for the "MYSQL_CACHING_SHA2_PASSWORD" enum value for RDS Proxy ClientPasswordAuthType.
v1.35.81
=======
- api-change:
cloudhsmv2
: [botocore
] Add support for Dual-Stack hsm2m.medium clusters. The customers will now be able to create hsm2m.medium clusters having both IPv4 and IPv6 connection capabilities by specifying a new param called NetworkType=DUALSTACK during cluster creation. - api-change:
ec2
: [botocore
] This release adds GroupId to the response for DeleteSecurityGroup. - api-change:
eks
: [botocore
] Add NodeRepairConfig in CreateNodegroupRequest and UpdateNodegroupConfigRequest - api-change:
logs
: [botocore
] Limit PutIntegration IntegrationName and ListIntegrations IntegrationNamePrefix parameters to 50 characters - api-change:
mediaconnect
: [botocore
] AWS Elemental MediaConnect Gateway now supports Source Specific Multicast (SSM) for ingress bridges. This enables you to specify a source IP address in addition to a multicast IP when creating or updating an ingress bridge source. - api-change:
networkmanager
: [botocore
] There was a sentence fragment in UpdateDirectConnectGatewayAttachment that was causing customer confusion as to whether it's an incomplete sentence or if it was a typo. Removed the fragment. - api-change:
servicediscovery
: [botocore
] AWS Cloud Map now supports service-level attributes, allowing you to associate custom metadata directly with services. These attributes can be retrieved, updated, and deleted using the new GetServiceAttributes, UpdateServiceAttributes, and DeleteServiceAttributes API calls.
v1.35.80
=======
- api-change:
connect
: [botocore
] Configure holidays and other overrides to hours of operation in advance. During contact handling, Amazon Connect automatically checks for overrides and provides customers with an appropriate flow path. After an override period passes call center automatically reverts to standard hours of operation. - api-change:
dms
: [botocore
] Add parameters to support for kerberos authentication. Add parameter for disabling the Unicode source filter with PostgreSQL settings. Add parameter to use large integer value with Kinesis/Kafka settings. - api-change:
glue
: [botocore
] To support customer-managed encryption in Data Quality to allow customers encrypt data with their own KMS key, we will add a DataQualityEncryption field to the SecurityConfiguration API where customers can provide their KMS keys. - api-change:
guardduty
: [botocore
] Improved descriptions for certain APIs. - api-change:
route53domains
: [botocore
] This release includes the following API updates: added the enumeration type RESTORE_DOMAIN to the OperationType; constrained the Price attribute to non-negative values; updated the LangCode to allow 2 or 3 alphabetical characters.
v1.35.79
=======
- api-change:
artifact
: [botocore
] Add support for listing active customer agreements for the calling AWS Account. - api-change:
cloudtrail
: [botocore
] Doc-only updates for CloudTrail. - api-change:
cognito-idp
: [botocore
] Updated descriptions for some API operations and parameters, corrected some errors in Cognito user pools - api-change:
controlcatalog
: [botocore
] Minor documentation updates to the content of ImplementationDetails object part of the Control Catalog GetControl API - api-change:
emr-serverless
: [botocore
] This release adds support for accessing system profile logs in Lake Formation-enabled jobs. - api-change:
mgh
: [botocore
] API and documentation updates for AWS MigrationHub related to adding support for listing migration task updates and associating, disassociating and listing source resources - api-change:
sesv2
: [botocore
] Introduces support for multi-region endpoint. - api-change:
timestream-influxdb
: [botocore
] Adds networkType parameter to CreateDbInstance API which allows IPv6 support to the InfluxDB endpoint
v1.35.78
=======
- api-change:
application-autoscaling
: [botocore
] Doc only update for AAS Predictive Scaling policy configuration API. - api-change:
bcm-pricing-calculator
: [botocore
] Updated condition key inference from Workload Estimate, Bill Scenario, and Bill Estimate resources. Updated documentation links. - api-change:
connect
: [botocore
] Add support for Push Notifications for Amazon Connect chat. With Push Notifications enabled an alert could be sent to customers about new messages even when they aren't actively using the mobile application. - api-change:
finspace
: [botocore
] Update KxCommandLineArgument value parameter regex to allow for spaces and semicolons - api-change:
ivs-realtime
: [botocore
] IVS Real-Time now offers customers the ability to customize thumbnails recording mode and interval for both Individual Participant Recording (IPR) and Server-Side Compositions (SSC). - api-change:
sesv2
: [botocore
] Introduces support for creating DEED (Deterministic Easy-DKIM) identities.
v1.35.77
=======
- api-change:
appsync
: [botocore
] Provides description of new Amazon Bedrock runtime datasource. - api-change:
cognito-idp
: [botocore
] ChangeCustomDomainConfig
from a required to an optional parameter for theUpdateUserPoolDomain
operation. - api-change:
ec2
: [botocore
] This release includes a new API for modifying instance network-performance-options after launch. - api-change:
ecs
: [botocore
] This is a documentation only update to address various tickets for Amazon ECS. - api-change:
keyspaces
: [botocore
] Amazon Keyspaces: adding the list of IAM actions required by the UpdateKeyspace API. - api-change:
medialive
: [botocore
] H265 outputs now support disabling the deblocking filter. - api-change:
workspaces
: [botocore
] Added text to clarify case-sensitivity
v1.35.76
=======
- api-change:
partnercentral-selling
: [botocore
] Introducing the preview of new partner central selling APIs designed to transform how AWS partners collaborate and co-sell with multiple partners. This enables multiple partners to seamlessly engage and jointly pursue customer opportunities, fostering a new era of collaborative selling. - api-change:
qbusiness
: [botocore
] This release removes the deprecated UserId and UserGroups fields from SearchRelevantContent api's request parameters.
v1.35.75
=======
- api-change:
bedrock
: [botocore
] Introduced two APIs ListPromptRouters and GetPromptRouter for Intelligent Prompt Router feature. Add support for Bedrock Guardrails image content filter. New Bedrock Marketplace feature enabling a wider range of bedrock compatible models with self-hosted capability. - api-change:
bedrock-agent
: [botocore
] This release introduces the ability to generate SQL using natural language, through a new GenerateQuery API (with native integration into Knowledge Bases); ability to ingest and retrieve images through Bedrock Data Automation; and ability to create a Knowledge Base backed by Kendra GenAI Index. - api-change:
bedrock-agent-runtime
: [botocore
] This release introduces the ability to generate SQL using natural language, through a new GenerateQuery API (with native integration into Knowledge Bases); ability to ingest and retrieve images through Bedrock Data Automation; and ability to create a Knowledge Base backed by Kendra GenAI Index. - api-change:
bedrock-data-automation
: [botocore
] Release Bedrock Data Automation SDK - api-change:
bedrock-data-automation-runtime
: [botocore
] Release Bedrock Data Automation Runtime SDK - api-change:
bedrock-runtime
: [botocore
] Added support for Intelligent Prompt Router in Invoke, InvokeStream, Converse and ConverseStream. Add support for Bedrock Guardrails image content filter. New Bedrock Marketplace feature enabling a wider range of bedrock compatible models with self-hosted capability. - api-change:
kendra
: [botocore
] This release adds GenAI Index in Amazon Kendra for Retrieval Augmented Generation (RAG) and intelligent search. With the Kendra GenAI Index, customers get high retrieval accuracy powered by the latest information retrieval technologies and semantic models. - api-change:
sagemaker
: [botocore
] Amazon SageMaker HyperPod launched task governance to help customers maximize accelerator utilization for model development and flexible training plans to meet training timelines and budget while reducing weeks of training time. AI apps from AWS partner is now available in SageMaker.
v1.35.74
=======
- api-change:
athena
: [botocore
] Add FEDERATED type to CreateDataCatalog. This creates Athena Data Catalog, AWS Lambda connector, and AWS Glue connection. Create/DeleteDataCatalog returns DataCatalog. Add Status, ConnectionType, and Error to DataCatalog and DataCatalogSummary. Add DeleteCatalogOnly to delete Athena Catalog only. - api-change:
bedrock
: [botocore
] Tagging support for Async Invoke resources. Added support for Distillation in CreateModelCustomizationJob API. Support for videoDataDeliveryEnabled flag in invocation logging. - api-change:
bedrock-agent
: [botocore
] Releasing SDK for Multi-Agent Collaboration. - api-change:
bedrock-agent-runtime
: [botocore
] Releasing SDK for multi agent collaboration - api-change:
bedrock-runtime
: [botocore
] Added support for Async Invoke Operations Start, List and Get. Support for invocation logs withrequestMetadata
field in Converse, ConverseStream, Invoke and InvokeStream. Video content blocks in Converse/ConverseStream accept raw bytes or S3 URI. - api-change:
cloudwatch
: [botocore
] Support for configuring AiOps investigation as alarm action - api-change:
datazone
: [botocore
] Adds support for Connections, ProjectProfiles, and JobRuns APIs. Supports the new Lineage feature at GA. Adjusts optionality of a parameter for DataSource and SubscriptionTarget APIs which may adjust types in some clients. - api-change:
dsql
: [botocore
] Add new API operations for Amazon Aurora DSQL. Amazon Aurora DSQL is a serverless, distributed SQL database with virtually unlimited scale, highest availability, and zero infrastructure management. - api-change:
dynamodb
: [botocore
] This change adds support for global tables with multi-Region strong consistency (in preview). The UpdateTable API now supports a new attribute MultiRegionConsistency to set consistency when creating global tables. The DescribeTable output now optionally includes the MultiRegionConsistency attribute. - api-change:
glue
: [botocore
] This release includes(1)Zero-ETL integration to ingest data from 3P SaaS and DynamoDB to Redshift/Redlake (2)new properties on Connections to enable reuse; new connection APIs for retrieve/preview metadata (3)support of CRUD operations for Multi-catalog (4)support of automatic statistics collections - api-change:
lakeformation
: [botocore
] This release added two new LakeFormation Permissions (CREATE_CATALOG, SUPER_USER) and added Id field for CatalogResource. It also added new conditon and expression field. - api-change:
qapps
: [botocore
] Add support for 11 new plugins as action cards to help automate repetitive tasks and improve productivity. - api-change:
qbusiness
: [botocore
] Amazon Q Business now supports customization options for your web experience, 11 new Plugins, and QuickSight support. Amazon Q index allows software providers to enrich their native generative AI experiences with their customer's enterprise knowledge and user context spanning multiple applications. - api-change:
quicksight
: [botocore
] This release includes API needed to support for Unstructured Data in Q in QuickSight Q&A (IDC). - api-change:
redshift
: [botocore
] Adds support for Amazon Redshift RegisterNamespace and DeregisterNamespace APIs to share data to AWS Glue Data Catalog. - api-change:
redshift-serverless
: [botocore
] Adds support for the ListManagedWorkgroups API to get an overview of existing managed workgroups. - api-change:
s3
: [botocore
] Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets. - api-change:
s3tables
: [botocore
] Amazon S3 Tables deliver the first cloud object store with built-in open table format support, and the easiest way to store tabular data at scale.
v1.35.73
=======
- api-change:
bedrock-runtime
: [botocore
] Add an API parameter that allows customers to set performance configuration for invoking a model. - api-change:
s3control
: [botocore
] It allows customers to pass CRC64NVME as a header in S3 Batch Operations copy requests - api-change:
socialmessaging
: [botocore
] Added support for passing role arn corresponding to the supported event destination
v1.35.72
=======
- api-change:
bedrock
: [botocore
] Add support for Knowledge Base Evaluations & LLM as a judge - api-change:
bedrock-agent
: [botocore
] This release introduces APIs to upload documents directly into a Knowledge Base - api-change:
bedrock-agent-runtime
: [botocore
] This release introduces a new Rerank API to leverage reranking models (with integration into Knowledge Bases); APIs to upload documents directly into Knowledge Base; RetrieveAndGenerateStream API for streaming response; Guardrails on Retrieve API; and ability to automatically generate filters - api-change:
chime-sdk-voice
: [botocore
] This release adds supports for enterprises to integrate Amazon Connect with other voice systems. It supports directly transferring voice calls and metadata without using the public telephone network. It also supports real-time and post-call analytics. - api-change:
cleanrooms
: [botocore
] This release allows customers and their partners to easily collaborate with data stored in Snowflake and Amazon Athena, without having to move or share their underlying data among collaborators. - api-change:
connect
: [botocore
] Adds support for WhatsApp Business messaging, IVR call recording, enabling Contact Lens for existing on-premise contact centers and telephony platforms, and enabling telephony and IVR migration to Amazon Connect independent of their contact center agents. - api-change:
connectcampaignsv2
: [botocore
] Amazon Connect Outbound Campaigns V2 / Features : Adds support for Event-Triggered Campaigns. - api-change:
customer-profiles
: [botocore
] This release introduces Event Trigger APIs as part of Amazon Connect Customer Profiles service. - api-change:
ec2
: [botocore
] Adds support for declarative policies that allow you to enforce desired configuration across an AWS organization through configuring account attributes. Adds support for Allowed AMIs that allows you to limit the use of AMIs in AWS accounts. Adds support for connectivity over non-HTTP protocols. - api-change:
ecs
: [botocore
] This release adds support for Container Insights with Enhanced Observability for Amazon ECS. - api-change:
eks
: [botocore
] Added support for Auto Mode Clusters, Hybrid Nodes, and specifying computeTypes in the DescribeAddonVersions API. - api-change:
events
: [botocore
] Call private APIs by configuring Connections with VPC connectivity through PrivateLink and VPC Lattice - api-change:
fsx
: [botocore
] FSx API changes to support the public launch of the Amazon FSx Intelligent Tiering for OpenZFS storage class. - api-change:
guardduty
: [botocore
] Add new Multi Domain Correlation findings. - api-change:
imagebuilder
: [botocore
] Added support for EC2 Image Builder's integration with AWS Marketplace for Marketplace components. - api-change:
invoicing
: [botocore
] AWS Invoice Configuration allows you to receive separate AWS invoices based on your organizational needs. You can use the AWS SDKs to manage Invoice Units and programmatically fetch the information of the invoice receiver. - api-change:
logs
: [botocore
] Adds PutIntegration, GetIntegration, ListIntegrations and DeleteIntegration APIs. Adds QueryLanguage support to StartQuery, GetQueryResults, DescribeQueries, DescribeQueryDefinitions, and PutQueryDefinition APIs. - api-change:
memorydb
: [botocore
] Amazon MemoryDB SDK now supports all APIs for Multi-Region. Please refer to the updated Amazon MemoryDB public documentation for detailed information on API usage. - api-change:
networkflowmonitor
: [botocore
] This release adds documentation for a new feature in Amazon CloudWatch called Network Flow Monitor. You can use Network Flow Monitor to get near real-time metrics, including retransmissions and data transferred, for your actual workloads. - api-change:
opensearch
: [botocore
] This feature introduces support for CRUDL APIs, enabling the creation and management of Connected data sources. - api-change:
organizations
: [botocore
] Add support for policy operations on the DECLARATIVE_POLICY_EC2 policy type. - api-change:
qbusiness
: [botocore
] Amazon Q Business now supports capabilities to extract insights and answer questions from visual elements embedded within documents, a browser extension for Google Chrome, Mozilla Firefox, and Microsoft Edge, and attachments across conversations. - api-change:
qconnect
: [botocore
] This release adds following capabilities: Configuring safeguards via AIGuardrails for Q in Connect inferencing, and APIs to support Q&A self-service use cases - api-change:
rds
: [botocore
] Amazon RDS supports CloudWatch Database Insights. You can use the SDK to create, modify, and describe the DatabaseInsightsMode for your DB instances and clusters. - api-change:
s3
: [botocore
] Amazon S3 introduces support for AWS Dedicated Local Zones - api-change:
s3control
: [botocore
] Amazon S3 introduces support for AWS Dedicated Local Zones - api-change:
securityhub
: [botocore
] Add new Multi Domain Correlation findings. - api-change:
security-ir
: [botocore
] AWS Security Incident Response is a purpose-built security incident solution designed to help customers prepare for, respond to, and recover from security incidents. - api-change:
transfer
: [botocore
] AWS Transfer Family now offers Web apps that enables simple and secure access to data stored in Amazon S3. - api-change:
vpc-lattice
: [botocore
] Lattice APIs that allow sharing and access of VPC resources across accounts.
v1.35.71
=======
- api-change:
bedrock-agent
: [botocore
] Add support for specifying embeddingDataType, either FLOAT32 or BINARY - api-change:
config
: [botocore
] AWS Config adds support for service-linked recorders, a new type of Config recorder managed by AWS services to record specific subsets of resource configuration data and functioning independently from customer managed AWS Config recorders. - api-change:
fsx
: [botocore
] This release adds EFA support to increase FSx for Lustre file systems' throughput performance to a single client instance. This can be done by specifying EfaEnabled=true at the time of creation of Persistent_2 file systems. - api-change:
observabilityadmin
: [botocore
] Amazon CloudWatch Observability Admin adds the ability to audit telemetry configuration for AWS resources in customers AWS Accounts and Organizations. The release introduces new APIs to turn on/off the new experience, which supports discovering supported AWS resources and their state of telemetry.
v1.35.70
=======
- api-change:
bedrock-agent
: [botocore
] Custom Orchestration API release for AWSBedrockAgents. - api-change:
bedrock-agent-runtime
: [botocore
] Custom Orchestration and Streaming configurations API release for AWSBedrockAgents. - api-change:
connect
: [botocore
] Enables access to ValueMap and ValueInteger types for SegmentAttributes and fixes deserialization bug for DescribeContactFlow in AmazonConnect Public API - api-change:
ec2
: [botocore
] Adds support for Time-based Copy for EBS Snapshots and Cross Region PrivateLink. Time-based Copy ensures that EBS Snapshots are copied within and across AWS Regions in a specified timeframe. Cross Region PrivateLink enables customers to connect to VPC endpoint services hosted in other AWS Regions. - api-change:
qapps
: [botocore
] Private sharing, file upload and data collection feature support for Q Apps
v1.35.69
=======
- api-change:
directconnect
: [botocore
] Update DescribeDirectConnectGatewayAssociations API to return associated core network information if a Direct Connect gateway is attached to a Cloud WAN core network. - api-change:
networkmanager
: [botocore
] This release adds native Direct Connect integration on Cloud WAN enabling customers to directly attach their Direct Connect gateways to Cloud WAN without the need for an intermediate Transit Gateway. - api-change:
s3
: [botocore
] Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications.
v1.35.68
=======
- api-change:
autoscaling
: [botocore
] Now, Amazon EC2 Auto Scaling customers can enable target tracking policies to take quicker scaling decisions, enhancing their application performance and EC2 utilization. To get started, specify target tracking to monitor a metric that is available on Amazon CloudWatch at seconds-level interval. - api-change:
bcm-pricing-calculator
: [botocore
] Initial release of the AWS Billing and Cost Management Pricing Calculator API. - api-change:
bedrock-agent-runtime
: [botocore
] InvokeInlineAgent API release to help invoke runtime agents without any dependency on preconfigured agents. - api-change:
ce
: [botocore
] This release adds the Impact field(contains Contribution field) to the GetAnomalies API response under RootCause - api-change:
chatbot
: [botocore
] Adds support for programmatic management of custom actions and aliases which can be associated with channel configurations. - api-change:
codepipeline
: [botocore
] AWS CodePipeline V2 type pipelines now support ECRBuildAndPublish and InspectorScan actions. - api-change:
cognito-idp
: [botocore
] Add support for users to sign up and sign in without passwords, using email and SMS OTPs and Passkeys. Add support for Passkeys based on WebAuthn. Add support for enhanced branding customization for hosted authentication pages with Amazon Cognito Managed Login. Add feature tiers with new pricing. - api-change:
connect
: [botocore
] Amazon Connect Service Feature: Add APIs for Amazon Connect Email Channel - api-change:
elbv2
: [botocore
] This release adds support for advertising trusted CA certificate names in associated trust stores. - api-change:
emr
: [botocore
] Advanced Scaling in Amazon EMR Managed Scaling - api-change:
inspector2
: [botocore
] Extend inspector2 service model to include ServiceQuotaExceededException. - api-change:
lambda
: [botocore
] Add ProvisionedPollerConfig to Lambda event-source-mapping API. - api-change:
mailmanager
: [botocore
] Added new "DeliverToQBusiness" rule action to MailManager RulesSet for ingesting email data into Amazon Q Business customer applications - api-change:
neptune-graph
: [botocore
] Add 4 new APIs to support new Export features, allowing Parquet and CSV formats. Add new arguments in Import APIs to support Parquet import. Add a new query "neptune.read" to run algorithms without loading data into database - api-change:
omics
: [botocore
] This release adds support for resource policy based cross account S3 access to sequence store read sets. - api-change:
quicksight
: [botocore
] This release includes: Update APIs to support Image, Layer Map, font customization, and Plugin Visual. Add Identity center related information in ListNamsespace API. Update API for restrictedFolder support in topics and add API for SearchTopics, Describe/Update DashboardsQA Configration. - api-change:
sagemaker
: [botocore
] This release adds APIs for new features for SageMaker endpoint to scale down to zero instances, native support for multi-adapter inference, and endpoint scaling improvements. - api-change:
ses
: [botocore
] This release adds support for starting email contacts in your Amazon Connect instance as an email receiving action. - api-change:
sns
: [botocore
] ArchivePolicy attribute added to Archive and Replay feature - api-change:
stepfunctions
: [botocore
] Add support for variables and JSONata in TestState, GetExecutionHistory, DescribeStateMachine, and DescribeStateMachineForExecution - api-change:
workspaces
: [botocore
] While integrating WSP-DCV rebrand, a few mentions were erroneously renamed from WSP to DCV. This release reverts those mentions back to WSP.
v1.35.67
=======
- api-change:
apigateway
: [botocore
] Added support for custom domain names for private APIs. - api-change:
application-autoscaling
: [botocore
] Application Auto Scaling now supports Predictive Scaling to proactively increase the desired capacity ahead of predicted demand, ensuring improved availability and responsiveness for customers' applications. This feature is currently only made available for Amazon ECS Service scalable targets. - api-change:
appsync
: [botocore
] Add support for the Amazon Bedrock Runtime. - api-change:
ce
: [botocore
] This release introduces three new APIs that enable you to estimate the cost, coverage, and utilization impact of Savings Plans you plan to purchase. The three APIs are StartCommitmentPurchaseAnalysis, GetCommitmentPurchaseAnalysis, and ListCommitmentPurchaseAnalyses. - api-change:
cloudfront
: [botocore
] Adds support for Origin Selection between EMPv2 origins based on media quality score. - api-change:
cloudtrail
: [botocore
] This release introduces new APIs for creating and managing CloudTrail Lake dashboards. It also adds support for resource-based policies on CloudTrail EventDataStore and Dashboard resource. - api-change:
ec2
: [botocore
] Adds support for requesting future-dated Capacity Reservations with a minimum commitment duration, enabling IPAM for organizational units within AWS Organizations, reserving EC2 Capacity Blocks that start in 30 minutes, and extending the end date of existing Capacity Blocks. - api-change:
elasticache
: [botocore
] Added support to modify the engine type for existing ElastiCache Users and User Groups. Customers can now modify the engine type from redis to valkey. - api-change:
elbv2
: [botocore
] This feature adds support for enabling zonal shift on cross-zone enabled Application Load Balancer, as well as modifying HTTP request and response headers. - api-change:
health
: [botocore
] Adds metadata property to an AffectedEntity. - api-change:
iot
: [botocore
] General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices - api-change:
iotfleetwise
: [botocore
] AWS IoT FleetWise now includes campaign parameters to store and forward data, configure MQTT topic as a data destination, and collect diagnostic trouble code data. It includes APIs for network agnostic data collection using custom decoding interfaces, and monitoring the last known state of vehicles. - api-change:
iot-jobs-data
: [botocore
] General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices - api-change:
lambda
: [botocore
] Adds support for metrics for event source mappings for AWS Lambda - api-change:
logs
: [botocore
] Adds "Create field indexes to improve query performance and reduce scan volume" and "Transform logs during ingestion". Updates documentation for "PutLogEvents with Entity". - api-change:
notifications
: [botocore
] This release adds support for AWS User Notifications. You can now configure and view notifications from AWS services in a central location using the AWS SDK. - api-change:
notificationscontacts
: [botocore
] This release adds support for AWS User Notifications Contacts. You can now configure and view email contacts for AWS User Notifications using the AWS SDK. - api-change:
resiliencehub
: [botocore
] AWS Resilience Hub's new summary view visually represents applications' resilience through charts, enabling efficient resilience management. It provides a consolidated view of the app portfolio's resilience state and allows data export for custom stakeholder reporting. - api-change:
s3
: [botocore
] Add support for conditional deletes for the S3 DeleteObject and DeleteObjects APIs. Add support for write offset bytes option used to append to objects with the S3 PutObject API. - api-change:
ssm
: [botocore
] Added support for providing high-level overviews of managed nodes and previewing the potential impact of a runbook execution. - api-change:
ssm-quicksetup
: [botocore
] Add methods that retrieve details about deployed configurations: ListConfigurations, GetConfiguration - api-change:
xray
: [botocore
] AWS X-Ray introduces Transaction Search APIs, enabling span ingestion into CloudWatch Logs for high-scale trace data indexing. These APIs support span-level queries, trace graph generation, and metric correlation for deeper application insights.
v1.35.66
=======
- api-change:
autoscaling
: [botocore
] With this release, customers can prioritize launching instances into ODCRs using targets from ASGs or Launch Templates. Customers can express their baseline instances' CPU-performance in attribute-based Instance Requirements configuration by referencing an instance family that meets their needs. - api-change:
bedrock-agent-runtime
: [botocore
] Releasing new Prompt Optimization to enhance your prompts for improved performance - api-change:
cloudfront
: [botocore
] Add support for gRPC, VPC origins, and Anycast IP Lists. Allow LoggingConfig IncludeCookies to be set regardless of whether the LoggingConfig is enabled. - api-change:
compute-optimizer
: [botocore
] This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for Amazon Aurora database instances. It also enables Compute Optimizer to identify idle Amazon EC2 instances, Amazon EBS volumes, Amazon ECS services running on Fargate, and Amazon RDS databases. - api-change:
controltower
: [botocore
] Adds support for child enabled baselines which allow you to see the enabled baseline status for individual accounts. - api-change:
cost-optimization-hub
: [botocore
] This release adds action type "Delete" to the GetRecommendation, ListRecommendations and ListRecommendationSummaries APIs to support new EBS and ECS recommendations with action type "Delete". - api-change:
datazone
: [botocore
] This release supports Metadata Enforcement Rule feature for Create Subscription Request action. - api-change:
discovery
: [botocore
] Add support to import data from commercially available discovery tools without file manipulation. - api-change:
ec2
: [botocore
] With this release, customers can express their desire to launch instances only in an ODCR or ODCR group rather than OnDemand capacity. Customers can express their baseline instances' CPU-performance in attribute-based Instance Requirements configuration by referencing an instance family. - api-change:
ecs
: [botocore
] This release adds support for the Availability Zone rebalancing feature on Amazon ECS. - api-change:
elbv2
: [botocore
] This release adds support for configuring Load balancer Capacity Unit reservations - api-change:
lambda
: [botocore
] Add Node 22.x (node22.x) support to AWS Lambda - api-change:
mediaconvert
: [botocore
] This release adds the ability to reconfigure concurrent job settings for existing queues and create queues with custom concurrent job settings. - api-change:
mediapackagev2
: [botocore
] MediaPackage v2 now supports the Media Quality Confidence Score (MQCS) published from MediaLive. Customers can control input switching based on the MQCS and publishing HTTP Headers for the MQCS via the API. - api-change:
omics
: [botocore
] Enabling call caching feature that allows customers to reuse previously computed results from a set of completed tasks in a new workflow run. - api-change:
rbin
: [botocore
] This release adds support for exclusion tags for Recycle Bin, which allows you to identify resources that are to be excluded, or ignored, by a Region-level retention rule. - api-change:
rds
: [botocore
] This release adds support for scale storage on the DB instance using a Blue/Green Deployment. - api-change:
timestream-query
: [botocore
] This release adds support for Provisioning Timestream Compute Units (TCUs), a new feature that allows provisioning dedicated compute resources for your queries, providing predictable and cost-effective query performance. - api-change:
workspaces
: [botocore
] Added support for Rocky Linux 8 on Amazon WorkSpaces Personal. - api-change:
workspaces-web
: [botocore
] Added data protection settings with support for inline data redaction.
v1.35.65
=======
- api-change:
b2bi
: [botocore
] Add new X12 transactions sets and versions - api-change:
ec2
: [botocore
] This release adds VPC Block Public Access (VPC BPA), a new declarative control which blocks resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. - api-change:
ecs
: [botocore
] This release introduces support for configuring the version consistency feature for individual containers defined within a task definition. The configuration allows to specify whether ECS should resolve the container image tag specified in the container definition to an image digest. - api-change:
efs
: [botocore
] Add support for the new parameters in EFS replication APIs - api-change:
glue
: [botocore
] AWS Glue Data Catalog now enhances managed table optimizations of Apache Iceberg tables that can be accessed only from a specific Amazon Virtual Private Cloud (VPC) environment. - api-change:
keyspaces
: [botocore
] Amazon Keyspaces Multi-Region Replication: Adds support to add new regions to multi and single-region keyspaces. - api-change:
mwaa
: [botocore
] Amazon MWAA now supports a new environment class, mw1.micro, ideal for workloads requiring fewer resources than mw1.small. This class supports a single instance of each Airflow component: Scheduler, Worker, and Webserver. - api-change:
taxsettings
: [botocore
] Release Tax Inheritance APIs, Tax Exemption APIs, and functionality update for some existing Tax Registration APIs - api-change:
workspaces
: [botocore
] Releasing new ErrorCodes for Image Validation failure during CreateWorkspaceImage process
v1.35.64
=======
- api-change:
appconfig
: [botocore
] AWS AppConfig has added a new extension action point, AT_DEPLOYMENT_TICK, to support third-party monitors to trigger an automatic rollback during a deployment. - api-change:
autoscaling
: [botocore
] Amazon EC2 Auto Scaling now supports Amazon Application Recovery Controller (ARC) zonal shift and zonal autoshift to help you quickly recover an impaired application from failures in an Availability Zone (AZ). - api-change:
cloudformation
: [botocore
] This release adds a new API, ListHookResults, that allows retrieving CloudFormation Hooks invocation results for hooks invoked during a create change set operation or Cloud Control API operation - api-change:
connect
: [botocore
] Adds CreateContactFlowVersion and ListContactFlowVersions APIs to create and view the versions of a contact flow. - api-change:
customer-profiles
: [botocore
] This release introduces Segmentation APIs and new Calculated Attribute Event Filters as part of Amazon Connect Customer Profiles service. - api-change:
ec2
: [botocore
] Adding request and response elements for managed resources. - api-change:
ecs
: [botocore
] This release adds support for adding VPC Lattice configurations in ECS CreateService/UpdateService APIs. The configuration allows for associating VPC Lattice target groups with ECS Services. - api-change:
iotsitewise
: [botocore
] The release introduces a generative AI Assistant in AWS IoT SiteWise. It includes: 1) InvokeAssistant API - Invoke the Assistant to get alarm summaries and ask questions. 2) Dataset APIs - Manage knowledge base configuration for the Assistant. 3) Portal APIs enhancement - Manage AI-aware dashboards. - api-change:
qconnect
: [botocore
] This release introduces MessageTemplate as a resource in Amazon Q in Connect, along with APIs to create, read, search, update, and delete MessageTemplate resources. - api-change:
rds
: [botocore
] Add support for the automatic pause/resume feature of Aurora Serverless v2. - api-change:
rds-data
: [botocore
] Add support for the automatic pause/resume feature of Aurora Serverless v2.
v1.35.63
=======
- api-change:
cloudwatch
: [botocore
] Adds support for adding related Entity information to metrics ingested through PutMetricData. - api-change:
connectcampaignsv2
: [botocore
] Added Amazon Connect Outbound Campaigns V2 SDK. - api-change:
datasync
: [botocore
] Doc-only updates and enhancements related to creating DataSync tasks and describing task executions. - api-change:
ec2
: [botocore
] Remove non-functional enum variants for FleetCapacityReservationUsageStrategy - api-change:
iot
: [botocore
] This release allows AWS IoT Core users to enrich MQTT messages with propagating attributes, to associate a thing to a connection, and to enable Online Certificate Status Protocol (OCSP) stapling for TLS X.509 server certificates through private endpoints. - api-change:
outposts
: [botocore
] You can now purchase AWS Outposts rack or server capacity for a 5-year term with one of the following payment options: All Upfront, Partial Upfront, and No Upfront. - api-change:
pinpoint-sms-voice-v2
: [botocore
] Use rule overrides to always allow or always block messages to specific phone numbers. Use message feedback to monitor if a customer interacts with your message. - api-change:
route53resolver
: [botocore
] Route 53 Resolver DNS Firewall Advanced Rules allows you to monitor and block suspicious DNS traffic based on anomalies detected in the queries, such as DNS tunneling and Domain Generation Algorithms (DGAs).
v1.35.62
=======
- api-change:
partnercentral-selling
: [botocore
] Announcing AWS Partner Central API for Selling: This service launch Introduces new APIs for co-selling opportunity management and related functions. Key features include notifications, a dynamic sandbox for testing, and streamlined validations.
v1.35.61
=======
- api-change:
accessanalyzer
: [botocore
] Expand analyzer configuration capabilities for unused access analyzers. Unused access analyzer configurations now support the ability to exclude accounts and resource tags from analysis providing more granular control over the scope of analysis. - api-change:
cloudcontrol
: [botocore
] Added support for CloudFormation Hooks with Cloud Control API. The GetResourceRequestStatus API response now includes an optional HooksProgressEvent and HooksRequestToken parameter for Hooks Invocation Progress as part of resource operation with Cloud Control. - api-change:
deadline
: [botocore
] Adds support for select GPU accelerated instance types when creating new service-managed fleets. - api-change:
iam
: [botocore
] This release includes support for five new APIs and changes to existing APIs that give AWS Organizations customers the ability to use temporary root credentials, targeted to member accounts in the organization. - api-change:
iotwireless
: [botocore
] New FuotaTask resource type to enable logging for your FUOTA tasks. A ParticipatingGatewaysforMulticast parameter to choose the list of gateways to receive the multicast downlink message and the transmission interval between them. Descriptor field which will be sent to devices during FUOTA transfer. - api-change:
ivs
: [botocore
] IVS now offers customers the ability to stream multitrack video to Channels. - api-change:
license-manager-user-subscriptions
: [botocore
] New and updated API operations to support License Included User-based Subscription of Microsoft Remote Desktop Services (RDS). - api-change:
partnercentral-selling
: [botocore
] Announcing AWS Partner Central API for Selling: This service launch Introduces new APIs for co-selling opportunity management and related functions. Key features include notifications, a dynamic sandbox for testing, and streamlined validations. - api-change:
quicksight
: [botocore
] This release adds APIs for Custom Permissions management in QuickSight, and APIs to support QuickSight Branding. - api-change:
redshift
: [botocore
] Adds support for Amazon Redshift S3AccessGrants - api-change:
s3
: [botocore
] This release updates the ListBuckets API Reference documentation in support of the new 10,000 general purpose bucket default quota on all AWS accounts. To increase your bucket quota from 10,000 to up to 1 million buckets, simply request a quota increase via Service Quotas. - api-change:
sagemaker
: [botocore
] Add support for Neuron instance types [ trn1/trn1n/inf2 ] on SageMaker Notebook Instances Platform. - api-change:
sts
: [botocore
] This release introduces the new API 'AssumeRoot', which returns short-term credentials that you can use to perform privileged tasks.
v1.35.60
=======
- api-change:
accessanalyzer
: [botocore
] This release adds support for policy validation and external access findings for resource control policies (RCP). IAM Access Analyzer helps you author functional and secure RCPs and awareness that a RCP may restrict external access. Updated service API, documentation, and paginators. - api-change:
application-signals
: [botocore
] Amazon CloudWatch Application Signals now supports creating Service Level Objectives with burn rates. Users can now create or update SLOs with burn rate configurations to meet their specific business requirements. - api-change:
b2bi
: [botocore
] This release adds a GenerateMapping API to allow generation of JSONata or XSLT transformer code based on input and output samples. - api-change:
billing
: [botocore
] Today, AWS announces the general availability of ListBillingViews API in the AWS SDKs, to enable AWS Billing Conductor (ABC) users to create proforma Cost and Usage Reports (CUR) programmatically. - api-change:
cloudtrail
: [botocore
] This release adds a new API GenerateQuery that generates a query from a natural language prompt about the event data in your event data store. This operation uses generative artificial intelligence (generative AI) to produce a ready-to-use SQL query from the prompt. - api-change:
dynamodb
: [botocore
] This release includes supports the new WarmThroughput feature for DynamoDB. You can now provide an optional WarmThroughput attribute for CreateTable or UpdateTable APIs to pre-warm your table or global secondary index. You can also use DescribeTable to see the latest WarmThroughput value. - api-change:
ec2
: [botocore
] This release adds the source AMI details in DescribeImages API - api-change:
internetmonitor
: [botocore
] Add new query type Routing_Suggestions regarding querying interface - api-change:
mediaconvert
: [botocore
] This release adds support for ARN inputs in the Kantar credentials secrets name field and the MSPR field to the manifests for PlayReady DRM protected outputs. - api-change:
organizations
: [botocore
] Add support for policy operations on the Resource Control Polices.
v1.35.59
=======
- api-change:
codebuild
: [botocore
] AWS CodeBuild now supports non-containerized Linux and Windows builds on Reserved Capacity. - api-change:
controltower
: [botocore
] Added ResetEnabledControl API. - api-change:
fis
: [botocore
] This release adds support for generating experiment reports with the experiment report configuration - api-change:
gamelift
: [botocore
] Amazon GameLift releases container fleets support for general availability. Deploy Linux-based containerized game server software for hosting on Amazon GameLift. - api-change:
payment-cryptography
: [botocore
] Updated ListAliases API with KeyArn filter. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for Amazon RDS Extended Support for Amazon Aurora MySQL.
v1.35.58
=======
- api-change:
cloudfront
: [botocore
] No API changes from previous release. This release migrated the model to Smithy keeping all features unchanged. - api-change:
inspector2
: [botocore
] Adds support for filePath filter. - api-change:
lambda
: [botocore
] Add Python 3.13 (python3.13) support to AWS Lambda - api-change:
opensearch
: [botocore
] Adds Support for new AssociatePackages and DissociatePackages API in Amazon OpenSearch Service that allows association and dissociation operations to be carried out on multiple packages at the same time. - api-change:
outposts
: [botocore
] This release updates StartCapacityTask to allow an active Outpost to be modified. It also adds a new API to list all running EC2 instances on the Outpost.
v1.35.57
=======
- api-change:
batch
: [botocore
] This feature allows override LaunchTemplates to be specified in an AWS Batch Compute Environment. - api-change:
bedrock-agent-runtime
: [botocore
] This release adds trace functionality to Bedrock Prompt Flows - api-change:
chime-sdk-media-pipelines
: [botocore
] Added support for Media Capture Pipeline and Media Concatenation Pipeline for customer managed server side encryption. Now Media Capture Pipeline can use IAM sink role to get access to KMS key and encrypt/decrypt recorded artifacts. KMS key ID can also be supplied with encryption context. - api-change:
controlcatalog
: [botocore
] AWS Control Catalog GetControl public API returns additional data in output, including Implementation and Parameters - api-change:
eks
: [botocore
] Adds new error codeEc2InstanceTypeDoesNotExist
for Amazon EKS managed node groups - api-change:
firehose
: [botocore
] Amazon Data Firehose / Features : Adds support for a new DeliveryStreamType, DatabaseAsSource. DatabaseAsSource hoses allow customers to stream CDC events from their RDS and Amazon EC2 hosted databases, running MySQL and PostgreSQL database engines, to Iceberg Table destinations. - api-change:
lambda
: [botocore
] This release adds support for using AWS KMS customer managed keys to encrypt AWS Lambda .zip deployment packages. - api-change:
pinpoint-sms-voice-v2
: [botocore
] Added the RequiresAuthenticationTimestamp field to the RegistrationVersionStatusHistory data type. - api-change:
qbusiness
: [botocore
] Adds S3 path option to pass group member list for PutGroup API.
v1.35.56
=======
- api-change:
autoscaling
: [botocore
] Auto Scaling groups now support the ability to strictly balance instances across Availability Zones by configuring the AvailabilityZoneDistribution parameter. If balanced-only is configured for a group, launches will always be attempted in the under scaled Availability Zone even if it is unhealthy. - api-change:
bedrock-agent
: [botocore
] Add prompt support for chat template configuration and agent generative AI resource. Add support for configuring an optional guardrail in Prompt and Knowledge Base nodes in Prompt Flows. Add API to validate flow definition - api-change:
bedrock-runtime
: [botocore
] Add Prompt management support to Bedrock runtime APIs: Converse, ConverseStream, InvokeModel, InvokeModelWithStreamingResponse - api-change:
cleanrooms
: [botocore
] This release introduces support for Custom Models in AWS Clean Rooms ML. - api-change:
cleanroomsml
: [botocore
] This release introduces support for Custom Models in AWS Clean Rooms ML. - api-change:
quicksight
: [botocore
] Add Client Credentials based OAuth support for Snowflake and Starburst - api-change:
resource-explorer-2
: [botocore
] Add GetManagedView, ListManagedViews APIs. - api-change:
synthetics
: [botocore
] Add support to toggle if a canary will automatically delete provisioned canary resources such as Lambda functions and layers when a canary is deleted. This behavior can be controlled via the new ProvisionedResourceCleanup property exposed in the CreateCanary and UpdateCanary APIs.
v1.35.55
=======
- api-change:
codebuild
: [botocore
] AWS CodeBuild now adds additional compute types for reserved capacity fleet. - api-change:
guardduty
: [botocore
] GuardDuty RDS Protection expands support for Amazon Aurora PostgreSQL Limitless Databases. - api-change:
lakeformation
: [botocore
] API changes for new named tag expressions feature. - api-change:
qapps
: [botocore
] Introduces category apis in AmazonQApps. Web experience users use Categories to tag and filter library items. - api-change:
s3control
: [botocore
] Fix ListStorageLensConfigurations and ListStorageLensGroups deserialization for Smithy SDKs. - api-change:
verifiedpermissions
: [botocore
] Adding BatchGetPolicy API which supports the retrieval of multiple policies across multiple policy stores within a single request. - enhancement:protocol: [
botocore
] Added support for header enabling service migration off the AWS Query protocol.
v1.35.54
=======
- api-change:
bedrock-agent
: [botocore
] Amazon Bedrock Knowledge Bases now supports using application inference profiles to increase throughput and improve resilience. - api-change:
docdb-elastic
: [botocore
] Amazon DocumentDB Elastic Clusters adds support for pending maintenance actions feature with APIs GetPendingMaintenanceAction, ListPendingMaintenanceActions and ApplyPendingMaintenanceAction - api-change:
logs
: [botocore
] This release introduces an improvement in PutLogEvents - api-change:
taxsettings
: [botocore
] Add support for supplemental tax registrations via these new APIs: PutSupplementalTaxRegistration, ListSupplementalTaxRegistrations, and DeleteSupplementalTaxRegistration.
v1.35.53
=======
- api-change:
amp
: [botocore
] Added support for UpdateScraper API, to enable updating collector configuration in-place - api-change:
autoscaling
: [botocore
] Adds bake time for Auto Scaling group Instance Refresh - api-change:
batch
: [botocore
] AddpodNamespace
toEksAttemptDetail
andcontainerID
toEksAttemptContainerDetail
. - api-change:
elbv2
: [botocore
] Add UDP support for AWS PrivateLink and dual-stack Network Load Balancers - api-change:
glue
: [botocore
] Add schedule support for AWS Glue column statistics - api-change:
sagemaker
: [botocore
] SageMaker HyperPod adds scale-down at instance level via BatchDeleteClusterNodes API and group level via UpdateCluster API. SageMaker Training exposes secondary job status in TrainingJobSummary from ListTrainingJobs API. SageMaker now supports G6, G6e, P5e instances for HyperPod and Training. - api-change:
sesv2
: [botocore
] This release enables customers to provide the email template content in the SESv2 SendEmail and SendBulkEmail APIs instead of the name or the ARN of a stored email template.
v1.35.52
=======
- api-change:
appsync
: [botocore
] This release adds support for AppSync Event APIs. - api-change:
connect
: [botocore
] Updated the public documentation for the UserIdentityInfo object to accurately reflect the character limits for the FirstName and LastName fields, which were previously listed as 1-100 characters. - api-change:
datasync
: [botocore
] AWS DataSync now supports Enhanced mode tasks. This task mode supports transfer of virtually unlimited numbers of objects with enhanced metrics, more detailed logs, and higher performance than Basic mode. This mode currently supports transfers between Amazon S3 locations. - api-change:
ec2
: [botocore
] This release adds two new capabilities to VPC Security Groups: Security Group VPC Associations and Shared Security Groups. - api-change:
ecs
: [botocore
] This release supports service deployments and service revisions which provide a comprehensive view of your Amazon ECS service history. - api-change:
geo-maps
: [botocore
] Release of Amazon Location Maps API. Maps enables you to build digital maps that showcase your locations, visualize your data, and unlock insights to drive your business - api-change:
geo-places
: [botocore
] Release of Amazon Location Places API. Places enables you to quickly search, display, and filter places, businesses, and locations based on proximity, category, and name - api-change:
geo-routes
: [botocore
] Release of Amazon Location Routes API. Routes enables you to plan efficient routes and streamline deliveries by leveraging real-time traffic, vehicle restrictions, and turn-by-turn directions. - api-change:
keyspaces
: [botocore
] Adds support for interacting with user-defined types (UDTs) through the following new operations: Create-Type, Delete-Type, List-Types, Get-Type. - api-change:
network-firewall
: [botocore
] AWS Network Firewall now supports configuring TCP idle timeout - api-change:
opensearch
: [botocore
] This release introduces the new OpenSearch user interface (Dashboards), a new web-based application that can be associated with multiple data sources across OpenSearch managed clusters, serverless collections, and Amazon S3, so that users can gain a comprehensive insights in an unified interface. - api-change:
opensearchserverless
: [botocore
] Neo Integration via IAM Identity Center (IdC) - api-change:
redshift
: [botocore
] This release launches S3 event integrations to create and manage integrations from an Amazon S3 source into an Amazon Redshift database. - api-change:
redshift-serverless
: [botocore
] Adds and updates API members for the Redshift Serverless AI-driven scaling and optimization feature using the price-performance target setting. - api-change:
route53
: [botocore
] This release adds support for TLSA, SSHFP, SVCB, and HTTPS record types. - api-change:
sagemaker
: [botocore
] Added support for Model Registry Staging construct. Users can define series of stages that models can progress through for model workflows and lifecycle. This simplifies tracking and managing models as they transition through development, testing, and production stages. - api-change:
workmail
: [botocore
] This release adds support for Multi-Factor Authentication (MFA) and Personal Access Tokens through integration with AWS IAM Identity Center.
v1.35.51
=======
- api-change:
bedrock
: [botocore
] Update Application Inference Profile - api-change:
bedrock-runtime
: [botocore
] Update Application Inference Profile - api-change:
cleanrooms
: [botocore
] This release adds the option for customers to configure analytics engine when creating a collaboration, and introduces the new SPARK analytics engine type in addition to maintaining the legacy CLEAN_ROOMS_SQL engine type. - api-change:
iotfleetwise
: [botocore
] Updated BatchCreateVehicle and BatchUpdateVehicle APIs: LimitExceededException has been added and the maximum number of vehicles in a batch has been set to 10 explicitly - api-change:
logs
: [botocore
] Added support for new optional baseline parameter in the UpdateAnomaly API. For UpdateAnomaly requests with baseline set to True, The anomaly behavior is then treated as baseline behavior. However, more severe occurrences of this behavior will still be reported as anomalies. - api-change:
redshift-data
: [botocore
] Adding a new API GetStatementResultV2 that supports CSV formatted results from ExecuteStatement and BatchExecuteStatement calls. - api-change:
sagemaker
: [botocore
] Addingnotebook-al2-v3
as allowed value to SageMaker NotebookInstance PlatformIdentifier attribute
v1.35.50
=======
- api-change:
mediapackagev2
: [botocore
] MediaPackage V2 Live to VOD Harvester is a MediaPackage V2 feature, which is used to export content from an origin endpoint to a S3 bucket. - api-change:
opensearch
: [botocore
] Adds support for provisioning dedicated coordinator nodes. Coordinator nodes can be specified using the new NodeOptions parameter in ClusterConfig. - api-change:
rds
: [botocore
] This release adds support for Enhanced Monitoring and Performance Insights when restoring Aurora Limitless Database DB clusters. It also adds support for the os-upgrade pending maintenance action. - api-change:
storagegateway
: [botocore
] Documentation update: Amazon FSx File Gateway will no longer be available to new customers.
v1.35.49
=======
- api-change:
bedrock-agent
: [botocore
] Add support of new model types for Bedrock Agents, Adding inference profile support for Flows and Prompt Management, Adding new field to configure additional inference configurations for Flows and Prompt Management - api-change:
codebuild
: [botocore
] AWS CodeBuild now supports automatically retrying failed builds - api-change:
lambda
: [botocore
] Add TagsError field in Lambda GetFunctionResponse. The TagsError field contains details related to errors retrieving tags. - api-change:
logs
: [botocore
] Adding inferred token name for dynamic tokens in Anomalies. - api-change:
supplychain
: [botocore
] API doc updates, and also support showing error message on a failed instance
v1.35.48
=======
- api-change:
appconfig
: [botocore
] This release improves deployment safety by granting customers the ability to REVERT completed deployments, to the last known good state.In the StopDeployment API revert case the status of a COMPLETE deployment will be REVERTED. AppConfig only allows a revert within 72 hours of deployment completion. - api-change:
ec2
: [botocore
] This release includes a new API to describe some details of the Amazon Machine Images (AMIs) that were used to launch EC2 instances, even if those AMIs are no longer available for use. - api-change:
ecs
: [botocore
] This release adds support for EBS volumes attached to Amazon ECS Windows tasks running on EC2 instances. - api-change:
nimble
: [botocore
] The nimble client has been removed following the deprecation of the service. - api-change:
pcs
: [botocore
] Documentation update: added the default value of the Slurm configuration parameter scaleDownIdleTimeInSeconds to its description. - api-change:
qbusiness
: [botocore
] Add a new field in chat response. This field can be used to support nested schemas in array fields
v1.35.47
=======
- api-change:
bedrock
: [botocore
] Doc updates for supporting converse - api-change:
connect
: [botocore
] Amazon Connect Service Feature: Add support to start screen sharing for a web calling contact. - api-change:
ec2
: [botocore
] Amazon EC2 X8g, C8g and M8g instances are powered by AWS Graviton4 processors. X8g provide the lowest cost per GiB of memory among Graviton4 instances. C8g provide the best price performance for compute-intensive workloads. M8g provide the best price performance in for general purpose workloads. - api-change:
mwaa
: [botocore
] Introducing InvokeRestApi which allows users to invoke the Apache Airflow REST API on the webserver with the specified inputs. - api-change:
payment-cryptography
: [botocore
] Add support for ECC P-256 and P-384 Keys. - api-change:
payment-cryptography-data
: [botocore
] Add ECDH support on PIN operations. - bugfix:
s3
: [botocore
] Fix S3 200 Error handling to address bugs introduced in payload operations.
v1.35.46
=======
- api-change:
bedrock-runtime
: [botocore
] Updating invoke regex to support imported models for converse API - api-change:
imagebuilder
: [botocore
] Add macOS platform and instance placement options - api-change:
m2
: [botocore
] Add AuthSecretsManagerArn optional parameter to batch job APIs, expand batch parameter limits, and introduce clientToken constraints. - api-change:
rds
: [botocore
] Global clusters now expose the Endpoint attribute as one of its fields. It is a Read/Write endpoint for the global cluster which resolves to the Global Cluster writer instance. - api-change:
repostspace
: [botocore
] Adds the BatchAddRole and BatchRemoveRole APIs. - api-change:
timestream-query
: [botocore
] This release adds support for Query Insights, a feature that provides details of query execution, enabling users to identify areas for improvement to optimize their queries, resulting in improved query performance and lower query costs. - bugfix:
s3
: [botocore
] Fixed SelectObjectContent regression from#​3284 <https://github.com/boto/botocore/issues/3284>
__.
v1.35.45
=======
- api-change:
application-insights
: [botocore
] This feature enables customers to specify SNS Topic ARN. CloudWatch Application Insights (CWAI) will utilize this ARN to send problem notifications. - api-change:
autoscaling
: [botocore
] Adds support for removing the PlacementGroup setting on an Auto Scaling Group through the UpdateAutoScalingGroup API. - api-change:
bedrock-agent-runtime
: [botocore
] Knowledge Bases for Amazon Bedrock now supports custom prompts and model parameters in the orchestrationConfiguration of the RetrieveAndGenerate API. The modelArn field accepts Custom Models and Imported Models ARNs. - api-change:
dms
: [botocore
] Added support for tagging in StartReplicationTaskAssessmentRun API and introduced IsLatestTaskAssessmentRun and ResultStatistic fields for enhanced tracking and assessment result statistics. - api-change:
ec2
: [botocore
] Amazon EC2 now allows you to create network interfaces with just the EFA driver and no ENA driver by specifying the network interface type as efa-only. - api-change:
eks
: [botocore
] This release adds support for Amazon Application Recovery Controller (ARC) zonal shift and zonal autoshift with EKS that enhances the resiliency of multi-AZ cluster environments - api-change:
fms
: [botocore
] Update AWS WAF policy - add the option to retrofit existing web ACLs instead of creating all new web ACLs. - api-change:
payment-cryptography-data
: [botocore
] Adding new API to generate authenticated scripts for EMV pin change use cases. - api-change:
wafv2
: [botocore
] Add a property to WebACL to indicate whether it's been retrofitted by Firewall Manager. - enhancement:
s3
: [botocore
] Handle HTTP 200 responses with error information for all supported s3 operations.
v1.35.44
=======
- api-change:
athena
: [botocore
] Removing FEDERATED from Create/List/Delete/GetDataCatalog API - api-change:
bedrock
: [botocore
] Adding converse support to CMI API's - api-change:
bedrock-runtime
: [botocore
] Added converse support for custom imported models - api-change:
datazone
: [botocore
] Adding the following project member designations: PROJECT_CATALOG_VIEWER, PROJECT_CATALOG_CONSUMER and PROJECT_CATALOG_STEWARD in the CreateProjectMembership API and PROJECT_CATALOG_STEWARD designation in the AddPolicyGrant API. - api-change:
ec2
: [botocore
] RequestSpotInstances and RequestSpotFleet feature release.
v1.35.43
=======
- api-change:
bedrock-agent
: [botocore
] Removing support for topK property in PromptModelInferenceConfiguration object, Making PromptTemplateConfiguration property as required, Limiting the maximum PromptVariant to 1 - api-change:
dataexchange
: [botocore
] This release adds Data Grant support, through which customers can programmatically create data grants to share with other AWS accounts and accept data grants from other AWS accounts. - api-change:
ecs
: [botocore
] This is an Amazon ECS documentation only update to address tickets. - api-change:
pinpoint-sms-voice-v2
: [botocore
] Added the registrations status of REQUIRES_AUTHENTICATION - api-change:
pipes
: [botocore
] This release adds validation to require specifying a SecurityGroup and Subnets in the Vpc object under PipesSourceSelfManagedKafkaParameters. It also adds support for iso-e, iso-f, and other non-commercial partitions in ARN parameters. - api-change:
quicksight
: [botocore
] Add StartDashboardSnapshotJobSchedule API. RestoreAnalysis now supports restoring analysis to folders. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for TAZ IAM support - api-change:
workspaces
: [botocore
] Updated the DomainName pattern for Active Directory
v1.35.42
=======
- api-change:
s3
: [botocore
] Add support for the new optional bucket-region and prefix query parameters in the ListBuckets API. For ListBuckets requests that express pagination, Amazon S3 will now return both the bucket names and associated AWS regions in the response. - bugfix:Config: [
botocore
] Fixed sigv4a_signing_region_set resolution when set in environment or config file.
v1.35.41
=======
- api-change:
amplify
: [botocore
] Added sourceUrlType field to StartDeployment request - api-change:
cloudformation
: [botocore
] Documentation update for AWS CloudFormation API Reference. - api-change:
codebuild
: [botocore
] Enable proxy for reserved capacity fleet. - api-change:
ivs
: [botocore
] On a channel that you own, you can now replace an ongoing stream with a new stream by streaming up with the priority parameter appended to the stream key. - api-change:
qbusiness
: [botocore
] Amazon Q Business now supports embedding the Amazon Q Business web experience on third-party websites. - api-change:
redshift
: [botocore
] This release launches the CreateIntegration, DeleteIntegration, DescribeIntegrations and ModifyIntegration APIs to create and manage Amazon Redshift Zero-ETL Integrations. - api-change:
resiliencehub
: [botocore
] AWS Resilience Hub now integrates with the myApplications platform, enabling customers to easily assess the resilience of applications defined in myApplications. The new Resiliency widget provides visibility into application resilience and actionable recommendations for improvement. - api-change:
sesv2
: [botocore
] This release adds support for email maximum delivery seconds that allows senders to control the time within which their emails are attempted for delivery.
v1.35.40
=======
- api-change:
codepipeline
: [botocore
] AWS CodePipeline V2 type pipelines now support automatically retrying failed stages and skipping stage for failed entry conditions. - api-change:
mailmanager
: [botocore
] Mail Manager support for viewing and exporting metadata of archived messages. - api-change:
securitylake
: [botocore
] This release updates request validation regex for resource ARNs. - api-change:
supplychain
: [botocore
] This release adds AWS Supply Chain instance management functionality. Specifically adding CreateInstance, DeleteInstance, GetInstance, ListInstances, and UpdateInstance APIs. - api-change:
transfer
: [botocore
] This release enables customers using SFTP connectors to query the transfer status of their files to meet their monitoring needs as well as orchestrate post transfer actions.
v1.35.39
=======
- api-change:
appflow
: [botocore
] Doc only updates for clarification around OAuth2GrantType for Salesforce. - api-change:
elbv2
: [botocore
] Add zonal_shift.config.enabled attribute. Add new AdministrativeOverride construct in the describe-target-health API response to include information about the override status applied to a target. - api-change:
emr
: [botocore
] This release provides new parameter "Context" in instance fleet clusters. - api-change:
guardduty
: [botocore
] Added a new field for network connection details. - api-change:
robomaker
: [botocore
] Documentation update: added support notices to each API action.
v1.35.38
=======
- api-change:
acm-pca
: [botocore
] Documentation updates for AWS Private CA. - api-change:
dms
: [botocore
] Introduces DescribeDataMigrations, CreateDataMigration, ModifyDataMigration, DeleteDataMigration, StartDataMigration, StopDataMigration operations to SDK. Provides FailedDependencyFault error message. - api-change:
ec2
: [botocore
] This release adds support for assigning the billing of shared Amazon EC2 On-Demand Capacity Reservations. - api-change:
ecs
: [botocore
] This is a documentation only release that updates to documentation to let customers know that Amazon Elastic Inference is no longer available. - api-change:
elastic-inference
: [botocore
] Elastic Inference - Documentation update to add service shutdown notice. - api-change:
iotfleetwise
: [botocore
] Refine campaign related API validations - api-change:
neptune-graph
: [botocore
] Support for 16 m-NCU graphs available through account allowlisting - api-change:
outposts
: [botocore
] Adding new "DELIVERED" enum value for Outposts Order status - api-change:
route53resolver
: [botocore
] Route 53 Resolver Forwarding Rules can now include a server name indication (SNI) in the target address for rules that use the DNS-over-HTTPS (DoH) protocol. When a DoH-enabled Outbound Resolver Endpoint forwards a request to a DoH server, it will provide the SNI in the TLS handshake. - api-change:
socialmessaging
: [botocore
] This release for AWS End User Messaging includes a public SDK, providing a suite of APIs that enable sending WhatsApp messages to end users. - api-change:
timestream-influxdb
: [botocore
] This release updates our regex based validation rules in regards to valid DbInstance and DbParameterGroup name.
v1.35.37
=======
- api-change:
codepipeline
: [botocore
] AWS CodePipeline introduces a Compute category
v1.35.36
=======
- api-change:
elasticache
: [botocore
] AWS ElastiCache SDK now supports using APIs with newly launched Valkey engine. Please refer to updated AWS ElastiCache public documentation for detailed information on API usage. - api-change:
memorydb
: [botocore
] Amazon MemoryDB SDK now supports all APIs for newly launched Valkey engine. Please refer to the updated Amazon MemoryDB public documentation for detailed information on API usage. - enhancement:Python: [
botocore
] Added provisional Python 3.13 support to Botocore - enhancement:Python: Added provisional Python 3.13 support to Boto3
v1.35.35
=======
- api-change:
deadline
: [botocore
] Add support for using the template from a previous job during job creation and listing parameter definitions for a job. - api-change:
marketplace-reporting
: [botocore
] Documentation-only update for AWS Marketplace Reporting API. - api-change:
qconnect
: [botocore
] This release adds support for the following capabilities: Configuration of the Gen AI system via AIAgent and AIPrompts. Integration support for Bedrock Knowledge Base. - api-change:
redshift
: [botocore
] Add validation pattern to S3KeyPrefix on the EnableLogging API
v1.35.34
=======
- api-change:
ec2
: [botocore
] Documentation updates for Amazon EC2. - api-change:
iot-data
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
v1.35.33
=======
- api-change:
codepipeline
: [botocore
] AWS CodePipeline introduces Commands action that enables you to easily run shell commands as part of your pipeline execution. - api-change:
connect
: [botocore
] Public GetMetricDataV2 Grouping increase from 3 to 4 - api-change:
ec2
: [botocore
] This release includes a new API for modifying instance cpu-options after launch. - api-change:
iot
: [botocore
] This release adds support for Custom Authentication with X.509 Client Certificates, support for Custom Client Certificate validation, and support for selecting application protocol and authentication type without requiring TLS ALPN for customer's AWS IoT Domain Configurations. - api-change:
marketplace-reporting
: [botocore
] The AWS Marketplace Reporting service introduces the GetBuyerDashboard API. This API returns a dashboard that provides visibility into your organization's AWS Marketplace agreements and associated spend across the AWS accounts in your organization. - api-change:
mediapackagev2
: [botocore
] Added support for ClipStartTime on the FilterConfiguration object on OriginEndpoint manifest settings objects. Added support for EXT-X-START tags on produced HLS child playlists. - api-change:
quicksight
: [botocore
] QuickSight: Add support for exporting and importing folders in AssetBundle APIs - enhancement:AWSCRT: [
botocore
] Update awscrt version to 0.22.0
v1.35.32
=======
- api-change:
appstream
: [botocore
] Added support for Automatic Time Zone Redirection on Amazon AppStream 2.0 - api-change:
b2bi
: [botocore
] Added and updated APIs to support outbound EDI transformations - api-change:
bedrock-agent-runtime
: [botocore
] Added raw model response and usage metrics to PreProcessing and PostProcessing Trace - api-change:
bedrock-runtime
: [botocore
] Added new fields to Amazon Bedrock Guardrails trace - api-change:
iotdeviceadvisor
: [botocore
] Add clientToken attribute and implement idempotency for CreateSuiteDefinition. - api-change:
ivs-realtime
: [botocore
] Adds new Stage Health EventErrorCodes applicable to RTMP(S) broadcasts. Bug Fix: Enforces that EncoderConfiguration Video height and width must be even-number values. - api-change:
s3
: [botocore
] This release introduces a header representing the minimum object size limit for Lifecycle transitions. - api-change:
sagemaker
: [botocore
] releasing builtinlcc to public - api-change:
workspaces
: [botocore
] WSP is being rebranded to become DCV.
v1.35.31
=======
- api-change:
bedrock-agent
: [botocore
] This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock. - api-change:
codeartifact
: [botocore
] Add support for the dual stack endpoints. - api-change:
rds
: [botocore
] This release provides additional support for enabling Aurora Limitless Database DB clusters.
v1.35.30
=======
- api-change:
bedrock
: [botocore
] Add support for custom models via provisioned throughput for Bedrock Model Evaluation - api-change:
clouddirectory
: [botocore
] Add examples for API operations in model. - api-change:
connect
: [botocore
] Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts - api-change:
pricing
: [botocore
] Add examples for API operations in model. - api-change:
resource-groups
: [botocore
] This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications. - api-change:
supplychain
: [botocore
] Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain - api-change:
timestream-influxdb
: [botocore
] Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API. - api-change:
verifiedpermissions
: [botocore
] Add examples for API operations in model.
v1.35.29
=======
- api-change:
customer-profiles
: [botocore
] Introduces optional RoleArn parameter for PutIntegration request and includes RoleArn in the response of PutIntegration, GetIntegration and ListIntegrations - api-change:
quicksight
: [botocore
] Adding personalization in QuickSight data stories. Admins can enable or disable personalization through QuickSight settings. - api-change:
securityhub
: [botocore
] Documentation updates for AWS Security Hub - api-change:
sesv2
: [botocore
] This release adds support for engagement tracking over Https using custom domains.
v1.35.28
=======
- api-change:
chatbot
: [botocore
] Return State and StateReason fields for Chatbot Channel Configurations. - api-change:
lambda
: [botocore
] Reverting Lambda resource-based policy and block public access APIs. - api-change:
organizations
: [botocore
] Add support for policy operations on the CHATBOT_POLICY policy type. - api-change:
pcs
: [botocore
] AWS PCS API documentation - Edited the description of the iamInstanceProfileArn parameter of the CreateComputeNodeGroup and UpdateComputeNodeGroup actions; edited the description of the SlurmCustomSetting data type to list the supported parameters for clusters and compute node groups. - api-change:
rds-data
: [botocore
] Documentation update for RDS Data API to reflect support for Aurora MySQL Serverless v2 and Provisioned DB clusters. - api-change:
sagemaker
: [botocore
] AddingTagPropagation
attribute to Sagemaker API
v1.35.27
=======
- api-change:
cloudtrail
: [botocore
] Doc-only update for CloudTrail network activity events release (in preview) - api-change:
ec2
: [botocore
] Updates to documentation for the transit gateway security group referencing feature. - api-change:
fsx
: [botocore
] Doc-only update to address Lustre S3 hard-coded names. - api-change:
worklink
: [botocore
] The worklink client has been removed following the deprecation of the service.
v1.35.26
=======
- api-change:
bedrock
: [botocore
] Add support for Cross Region Inference in Bedrock Model Evaluations. - api-change:
budgets
: [botocore
] Releasing minor partitional endpoint updates - api-change:
kinesis
: [botocore
] This release includes support to add tags when creating a stream - api-change:
pinpoint-sms-voice-v2
: [botocore
] AWS End User Messaging SMS-Voice V2 has added support for resource policies. Use the three new APIs to create, view, edit, and delete resource policies. - api-change:
sagemaker
: [botocore
] AddingHiddenInstanceTypes
andHiddenSageMakerImageVersionAliases
attribute to SageMaker API
v1.35.25
=======
- api-change:
apigateway
: [botocore
] Documentation updates for Amazon API Gateway - api-change:
athena
: [botocore
] List/Get/Update/Delete/CreateDataCatalog now integrate with AWS Glue connections. Users can create a Glue connection through Athena or use a Glue connection to define their Athena federated parameters. - api-change:
bedrock-agent
: [botocore
] Amazon Bedrock Prompt Flows and Prompt Management now supports using inference profiles to increase throughput and improve resilience. - api-change:
ec2
: [botocore
] Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads. - api-change:
emr-serverless
: [botocore
] This release adds support for job concurrency and queuing configuration at Application level. - api-change:
glue
: [botocore
] Added AthenaProperties parameter to Glue Connections, allowing Athena to store service specific properties on Glue Connections. - api-change:
rds
: [botocore
] Support ComputeRedundancy parameter in ModifyDBShardGroup API. Add DBShardGroupArn in DBShardGroup API response. Remove InvalidMaxAcuFault from CreateDBShardGroup and ModifyDBShardGroup API. Both API will throw InvalidParameterValueException for invalid ACU configuration. - api-change:
resource-explorer-2
: [botocore
] AWS Resource Explorer released ListResources feature which allows customers to list all indexed AWS resources within a view.
v1.35.24
=======
- api-change:
dynamodb
: [botocore
] Generate account endpoint for DynamoDB requests when the account ID is available - api-change:
neptune
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
sagemaker
: [botocore
] Amazon SageMaker now supports using manifest files to specify the location of uncompressed model artifacts within Model Packages - api-change:
sagemaker-metrics
: [botocore
] This release introduces support for the SageMaker Metrics BatchGetMetrics API. - api-change:
workspaces
: [botocore
] Releasing new ErrorCodes for SysPrep failures during ImageImport and CreateImage process
v1.35.23
=======
- api-change:
codeconnections
: [botocore
] This release adds the PullRequestComment field to CreateSyncConfiguration API input, UpdateSyncConfiguration API input, GetSyncConfiguration API output and ListSyncConfiguration API output - api-change:
glue
: [botocore
] This change is for releasing TestConnection api SDK model - api-change:
lambda
: [botocore
] Tagging support for Lambda event source mapping, and code signing configuration resources. - api-change:
mediaconvert
: [botocore
] This release provides support for additional DRM configurations per SPEKE Version 2.0. - api-change:
medialive
: [botocore
] Adds Bandwidth Reduction Filtering for HD AVC and HEVC encodes, multiplex container settings. - api-change:
quicksight
: [botocore
] QuickSight: 1. Add new API - ListFoldersForResource. 2. Commit mode adds visibility configuration of Apply button on multi-select controls for authors. - api-change:
sagemaker
: [botocore
] Introduced support for G6e instance types on SageMaker Studio for JupyterLab and CodeEditor applications. - api-change:
workspaces-web
: [botocore
] WorkSpaces Secure Browser now enables Administrators to view and manage end-user browsing sessions via Session Management APIs.
v1.35.22
=======
- api-change:
ce
: [botocore
] This release extends the GetReservationPurchaseRecommendation API to support recommendations for Amazon DynamoDB reservations. - api-change:
ds
: [botocore
] Added new APIs for enabling, disabling, and describing access to the AWS Directory Service Data API - api-change:
ds-data
: [botocore
] Added new AWS Directory Service Data API, enabling you to manage data stored in AWS Directory Service directories. This includes APIs for creating, reading, updating, and deleting directory users, groups, and group memberships. - api-change:
guardduty
: [botocore
] AddlaunchType
andsourceIPs
fields to GuardDuty findings. - api-change:
mailmanager
: [botocore
] Introduce a new RuleSet condition evaluation, where customers can set up a StringExpression with a MimeHeader condition. This condition will perform the necessary validation based on the X-header provided by customers. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation with information upgrading snapshots with unsupported engine versions for RDS for MySQL and RDS for PostgreSQL. - api-change:
s3
: [botocore
] Added SSE-KMS support for directory buckets.
v1.35.21
=======
- api-change:
codebuild
: [botocore
] GitLab Enhancements - Add support for Self-Hosted GitLab runners in CodeBuild. Add group webhooks - api-change:
ecr
: [botocore
] TheDescribeImageScanning
API now includesfixAvailable
,exploitAvailable
, andfixedInVersion
fields to provide more detailed information about the availability of fixes, exploits, and fixed versions for identified image vulnerabilities. - api-change:
ecs
: [botocore
] This is a documentation only release to address various tickets. - api-change:
lambda
: [botocore
] Support for JSON resource-based policies and block public access - api-change:
rds
: [botocore
] Updates Amazon RDS documentation with configuration information about the BYOL model for RDS for Db2. - api-change:
ssm
: [botocore
] Support for additional levels of cross-account, cross-Region organizational units in Automation. Various documentation updates.
v1.35.20
=======
- api-change:
bedrock
: [botocore
] This feature adds cross account s3 bucket and VPC support to ModelInvocation jobs. To use a cross account bucket, pass in the accountId of the bucket to s3BucketOwner in the ModelInvocationJobInputDataConfig or ModelInvocationJobOutputDataConfig. - api-change:
iot
: [botocore
] This release adds additional enhancements to AWS IoT Device Management Software Package Catalog and Jobs. It also adds SBOM support in Software Package Version. - api-change:
medialive
: [botocore
] Removing the ON_PREMISE enum from the input settings field. - api-change:
organizations
: [botocore
] Doc only update for AWS Organizations that fixes several customer-reported issues - api-change:
pca-connector-scep
: [botocore
] This is a general availability (GA) release of Connector for SCEP, a feature of AWS Private CA. Connector for SCEP links your SCEP-enabled and mobile device management systems to AWS Private CA for digital signature installation and certificate management. - api-change:
rds
: [botocore
] Launching Global Cluster tagging.
v1.35.19
=======
- api-change:
amplify
: [botocore
] Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications - api-change:
ivs
: [botocore
] Updates to all tags descriptions. - api-change:
ivschat
: [botocore
] Updates to all tags descriptions.
v1.35.18
=======
- api-change:
cognito-idp
: [botocore
] Added email MFA option to user pools with advanced security features. - api-change:
elbv2
: [botocore
] Correct incorrectly mapped error in ELBv2 waiters - api-change:
emr
: [botocore
] Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters. - api-change:
glue
: [botocore
] AWS Glue is introducing two new optimizers for Apache Iceberg tables: snapshot retention and orphan file deletion. Customers can enable these optimizers and customize their configurations to perform daily maintenance tasks on their Iceberg tables based on their specific requirements. - api-change:
mediaconvert
: [botocore
] This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback - api-change:
rds
: [botocore
] This release adds support for the os-upgrade pending maintenance action for Amazon Aurora DB clusters. - api-change:
storagegateway
: [botocore
] The S3 File Gateway now supports DSSE-KMS encryption. A new parameter EncryptionType is added to these APIs: CreateSmbFileShare, CreateNfsFileShare, UpdateSmbFileShare, UpdateNfsFileShare, DescribeSmbFileShares, DescribeNfsFileShares. Also, in favor of EncryptionType, KmsEncrypted is deprecated. - api-change:
synthetics
: [botocore
] This release introduces two features. The first is tag replication, which allows for the propagation of canary tags onto Synthetics related resources, such as Lambda functions. The second is a limit increase in canary name length, which has now been increased from 21 to 255 characters.
v1.35.17
=======
- api-change:
bedrock-agent
: [botocore
] Amazon Bedrock Knowledge Bases now supports using inference profiles to increase throughput and improve resilience. - api-change:
bedrock-agent-runtime
: [botocore
] Amazon Bedrock Knowledge Bases now supports using inference profiles to increase throughput and improve resilience. - api-change:
ecr
: [botocore
] Added KMS_DSSE to EncryptionType - api-change:
guardduty
: [botocore
] Add support for new statistic types in GetFindingsStatistics. - api-change:
lexv2-models
: [botocore
] Support new Polly voice engines in VoiceSettings: long-form and generative - api-change:
medialive
: [botocore
] Adds AV1 Codec support, SRT ouputs, and MediaLive Anywhere support.
v1.35.16
=======
- api-change:
chime-sdk-voice
: [botocore
] Documentation-only update that clarifies the ValidateE911Address action of the Amazon Chime SDK Voice APIs. - api-change:
cognito-identity
: [botocore
] This release adds sensitive trait to some required shapes. - api-change:
pipes
: [botocore
] This release adds support for customer managed KMS keys in Amazon EventBridge Pipe - api-change:
securityhub
: [botocore
] Documentation update for Security Hub - enhancement:AWSCRT: [
botocore
] Update awscrt version to 0.21.5 - enhancement:
s3
: [botocore
] Adds logic to gracefully handle invalid timestamps returned in the Expires header.
v1.35.15
=======
- api-change:
dynamodb
: [botocore
] Doc-only update for DynamoDB. Added information about async behavior for TagResource and UntagResource APIs and updated the description of ResourceInUseException. - api-change:
elbv2
: [botocore
] Add paginators for the ELBv2 DescribeListenerCertificates and DescribeRules APIs. Fix broken waiter for the ELBv2 DescribeLoadBalancers API. - api-change:
ivs-realtime
: [botocore
] IVS Real-Time now offers customers the ability to broadcast to Stages using RTMP(S). - api-change:
kafka
: [botocore
] Amazon MSK Replicator can now replicate data to identically named topics between MSK clusters within the same AWS Region or across different AWS Regions. - api-change:
sagemaker
: [botocore
] Amazon Sagemaker supports orchestrating SageMaker HyperPod clusters with Amazon EKS - api-change:
sagemaker-runtime
: [botocore
] AWS SageMaker Runtime feature: Add sticky routing to support stateful inference models.
v1.35.14
=======
- api-change:
qapps
: [botocore
] Adds UpdateLibraryItemMetadata api to change status of app for admin verification feature and returns isVerified field in any api returning the app or library item.
v1.35.13
=======
- api-change:
application-signals
: [botocore
] Amazon CloudWatch Application Signals now supports creating Service Level Objectives using a new calculation type. Users can now create SLOs which are configured with request-based SLIs to help meet their specific business requirements. - api-change:
codepipeline
: [botocore
] Updates to add recent notes to APIs and to replace example S3 bucket names globally. - api-change:
connect
: [botocore
] Amazon Connect Custom Vocabulary now supports Catalan (Spain), Danish (Denmark), Dutch (Netherlands), Finnish (Finland), Indonesian (Indonesia), Malay (Malaysia), Norwegian Bokmal (Norway), Polish (Poland), Swedish (Sweden), and Tagalog/Filipino (Philippines). - api-change:
gamelift
: [botocore
] Amazon GameLift provides additional events for tracking the fleet creation process. - api-change:
kinesisanalyticsv2
: [botocore
] Support for Flink 1.20 in Managed Service for Apache Flink - api-change:
sagemaker
: [botocore
] Amazon SageMaker now supports idle shutdown of JupyterLab and CodeEditor applications on SageMaker Studio.
v1.35.12
=======
- api-change:
appsync
: [botocore
] Adds new logging levels (INFO and DEBUG) for additional log output control - api-change:
bedrock-agent
: [botocore
] Add support for user metadata inside PromptVariant. - api-change:
finspace
: [botocore
] Updates Finspace documentation for smaller instances. - api-change:
fis
: [botocore
] This release adds safety levers, a new mechanism to stop all running experiments and prevent new experiments from starting. - api-change:
logs
: [botocore
] Update to support new APIs for delivery of logs from AWS services. - api-change:
s3control
: [botocore
] Amazon Simple Storage Service /S3 Access Grants / Features : This release launches new Access Grants API - ListCallerAccessGrants.
v1.35.11
=======
- api-change:
connect
: [botocore
] Release ReplicaConfiguration as part of DescribeInstance - api-change:
datazone
: [botocore
] Add support to let data publisher specify a subset of the data asset that a subscriber will have access to based on the asset filters provided, when accepting a subscription request. - api-change:
elbv2
: [botocore
] This release adds support for configuring TCP idle timeout on NLB and GWLB listeners. - api-change:
mediaconnect
: [botocore
] AWS Elemental MediaConnect introduces thumbnails for Flow source monitoring. Thumbnails provide still image previews of the live content feeding your MediaConnect Flow allowing you to easily verify that your source is operating as expected. - api-change:
medialive
: [botocore
] Added MinQP as a Rate Control option for H264 and H265 encodes. - api-change:
sagemaker
: [botocore
] Amazon SageMaker now supports automatic mounting of a user's home folder in the Amazon Elastic File System (EFS) associated with the SageMaker Studio domain to their Studio Spaces to enable users to share data between their own private spaces. - api-change:
timestream-influxdb
: [botocore
] Timestream for InfluxDB now supports compute scaling and deployment type conversion. This release adds the DbInstanceType and DeploymentType parameters to the UpdateDbInstance API.
v1.35.10
=======
- api-change:
backup
: [botocore
] The latest update introduces two new attributes, VaultType and VaultState, to the DescribeBackupVault and ListBackupVaults APIs. The VaultState attribute reflects the current status of the vault, while the VaultType attribute indicates the specific category of the vault. - api-change:
datazone
: [botocore
] Amazon DataZone now adds new governance capabilities of Domain Units for organization within your Data Domains, and Authorization Policies for tighter controls. - api-change:
logs
: [botocore
] This release introduces a new optional parameter: Entity, in PutLogEvents request - api-change:
redshift-data
: [botocore
] The release include the new Redshift DataAPI feature for session use, customer execute query with --session-keep-alive-seconds parameter and can submit follow-up queries to same sessions with returnedsession-id
v1.35.9
=======
- api-change:
gamelift
: [botocore
] Amazon GameLift releases a new game session placement feature: PriorityConfigurationOverride. You can now override how a game session queue prioritizes placement locations for a single StartGameSessionPlacement request. - api-change:
route53
: [botocore
] Amazon Route 53 now supports the Mexico (Central) Region (mx-central-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region
v1.35.8
=======
- api-change:
rds
: [botocore
] Updates Amazon RDS documentation to correct various descriptions.
v1.35.7
=======
- api-change:
artifact
: [botocore
] Add support for listing active customer agreements for the calling AWS Account. - api-change:
cloudtrail
: [botocore
] Doc-only updates for CloudTrail. - api-change:
cognito-idp
: [botocore
] Updated descriptions for some API operations and parameters, corrected some errors in Cognito user pools - api-change:
controlcatalog
: [botocore
] Minor documentation updates to the content of ImplementationDetails object part of the Control Catalog GetControl API - api-change:
emr-serverless
: [botocore
] This release adds support for accessing system profile logs in Lake Formation-enabled jobs. - api-change:
mgh
: [botocore
] API and documentation updates for AWS MigrationHub related to adding support for listing migration task updates and associating, disassociating and listing source resources - api-change:
sesv2
: [botocore
] Introduces support for multi-region endpoint. - api-change:
timestream-influxdb
: [botocore
] Adds networkType parameter to CreateDbInstance API which allows IPv6 support to the InfluxDB endpoint
v1.35.6
=======
- api-change:
directconnect
: [botocore
] Update DescribeDirectConnectGatewayAssociations API to return associated core network information if a Direct Connect gateway is attached to a Cloud WAN core network. - api-change:
networkmanager
: [botocore
] This release adds native Direct Connect integration on Cloud WAN enabling customers to directly attach their Direct Connect gateways to Cloud WAN without the need for an intermediate Transit Gateway. - api-change:
s3
: [botocore
] Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications.
v1.35.5
=======
- api-change:
codebuild
: [botocore
] AWS CodeBuild now supports non-containerized Linux and Windows builds on Reserved Capacity. - api-change:
controltower
: [botocore
] Added ResetEnabledControl API. - api-change:
fis
: [botocore
] This release adds support for generating experiment reports with the experiment report configuration - api-change:
gamelift
: [botocore
] Amazon GameLift releases container fleets support for general availability. Deploy Linux-based containerized game server software for hosting on Amazon GameLift. - api-change:
payment-cryptography
: [botocore
] Updated ListAliases API with KeyArn filter. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for Amazon RDS Extended Support for Amazon Aurora MySQL.
v1.35.4
=======
- api-change:
bedrock-agent
: [botocore
] Add support of new model types for Bedrock Agents, Adding inference profile support for Flows and Prompt Management, Adding new field to configure additional inference configurations for Flows and Prompt Management - api-change:
codebuild
: [botocore
] AWS CodeBuild now supports automatically retrying failed builds - api-change:
lambda
: [botocore
] Add TagsError field in Lambda GetFunctionResponse. The TagsError field contains details related to errors retrieving tags. - api-change:
logs
: [botocore
] Adding inferred token name for dynamic tokens in Anomalies. - api-change:
supplychain
: [botocore
] API doc updates, and also support showing error message on a failed instance
v1.35.3
=======
- api-change:
appflow
: [botocore
] Doc only updates for clarification around OAuth2GrantType for Salesforce. - api-change:
elbv2
: [botocore
] Add zonal_shift.config.enabled attribute. Add new AdministrativeOverride construct in the describe-target-health API response to include information about the override status applied to a target. - api-change:
emr
: [botocore
] This release provides new parameter "Context" in instance fleet clusters. - api-change:
guardduty
: [botocore
] Added a new field for network connection details. - api-change:
robomaker
: [botocore
] Documentation update: added support notices to each API action.
v1.35.2
=======
- api-change:
customer-profiles
: [botocore
] Introduces optional RoleArn parameter for PutIntegration request and includes RoleArn in the response of PutIntegration, GetIntegration and ListIntegrations - api-change:
quicksight
: [botocore
] Adding personalization in QuickSight data stories. Admins can enable or disable personalization through QuickSight settings. - api-change:
securityhub
: [botocore
] Documentation updates for AWS Security Hub - api-change:
sesv2
: [botocore
] This release adds support for engagement tracking over Https using custom domains.
v1.35.1
=======
- api-change:
amplify
: [botocore
] Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications - api-change:
ivs
: [botocore
] Updates to all tags descriptions. - api-change:
ivschat
: [botocore
] Updates to all tags descriptions.
v1.35.0
======
- api-change:
batch
: [botocore
] Improvements of integration between AWS Batch and EC2. - api-change:
inspector2
: [botocore
] Update the correct format of key and values for resource tags - api-change:
quicksight
: [botocore
] Amazon QuickSight launches Customer Managed Key (CMK) encryption for Data Source metadata - api-change:
sagemaker
: [botocore
] Introduce Endpoint and EndpointConfig Arns in sagemaker:ListPipelineExecutionSteps API response - api-change:
sesv2
: [botocore
] Marking use case description field of account details as deprecated. - feature:signing: [
botocore
] Adds internal support for the new 'auth' trait to allow a priority list of auth types for a service or operation.
v1.34.162
========
- api-change:
docdb
: [botocore
] This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup. - api-change:
ecs
: [botocore
] This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature. - api-change:
iam
: [botocore
] Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null. - api-change:
s3
: [botocore
] Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API.
v1.34.161
========
- api-change:
codebuild
: [botocore
] AWS CodeBuild now supports using Secrets Manager to store git credentials and using multiple source credentials in a single project.
v1.34.160
========
- api-change:
amplify
: [botocore
] Add a new field "cacheConfig" that enables users to configure the CDN cache settings for an App - api-change:
appstream
: [botocore
] This release includes following new APIs: CreateThemeForStack, DescribeThemeForStack, UpdateThemeForStack, DeleteThemeForStack to support custom branding programmatically. - api-change:
fis
: [botocore
] This release adds support for additional error information on experiment failure. It adds the error code, location, and account id on relevant failures to the GetExperiment and ListExperiment API responses. - api-change:
glue
: [botocore
] Add AttributesToGet parameter support for Glue GetTables - api-change:
neptune-graph
: [botocore
] Amazon Neptune Analytics provides a new option for customers to load data into a graph using the RDF (Resource Description Framework) NTRIPLES format. When loading NTRIPLES files, use the valueconvertToIri
for theblankNodeHandling
parameter.
v1.34.159
========
- api-change:
compute-optimizer
: [botocore
] Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications - api-change:
config
: [botocore
] Documentation update for the OrganizationConfigRuleName regex pattern. - api-change:
ec2
: [botocore
] This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. - api-change:
eks
: [botocore
] Added support for new AL2023 GPU AMIs to the supported AMITypes. - api-change:
groundstation
: [botocore
] Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide - api-change:
medialive
: [botocore
] AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex. - api-change:
sagemaker
: [botocore
] Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas.
v1.34.158
========
- api-change:
cognito-idp
: [botocore
] Fixed a description of AdvancedSecurityAdditionalFlows in Amazon Cognito user pool configuration. - api-change:
connect
: [botocore
] This release supports adding RoutingCriteria via UpdateContactRoutingData public API. - api-change:
ssm
: [botocore
] Systems Manager doc-only updates for August 2024.
v1.34.157
========
- api-change:
cognito-idp
: [botocore
] Added support for threat protection for custom authentication in Amazon Cognito user pools. - api-change:
connect
: [botocore
] This release fixes a regression in number of access control tags that are allowed to be added to a security profile in Amazon Connect. You can now add up to four access control tags on a single security profile. - api-change:
ec2
: [botocore
] Launch of private IPv6 addressing for VPCs and Subnets. VPC IPAM supports the planning and monitoring of private IPv6 usage. - api-change:
glue
: [botocore
] This release adds support to retrieve the validation status when creating or updating Glue Data Catalog Views. Also added is support for BasicCatalogTarget partition keys.
v1.34.156
========
- api-change:
appintegrations
: [botocore
] Updated CreateDataIntegration and CreateDataIntegrationAssociation API to support bulk data export from Amazon Connect Customer Profiles to the customer S3 bucket. - api-change:
glue
: [botocore
] Introducing AWS Glue Data Quality anomaly detection, a new functionality that uses ML-based solutions to detect data anomalies users have not explicitly defined rules for.
v1.34.155
========
- api-change:
bedrock-agent-runtime
: [botocore
] Introduce model invocation output traces for orchestration traces, which contain the model's raw response and usage. - api-change:
cognito-idp
: [botocore
] Advanced security feature updates to include password history and log export for Cognito user pools. - api-change:
cost-optimization-hub
: [botocore
] This release adds savings percentage support to the ListRecommendationSummaries API. - api-change:
workspaces
: [botocore
] Added support for BYOL_GRAPHICS_G4DN_WSP IngestionProcess - enhancement:AWSCRT: [
botocore
] Update awscrt version to 0.21.2
v1.34.154
========
- api-change:
datazone
: [botocore
] This releases Data Product feature. Data Products allow grouping data assets into cohesive, self-contained units for ease of publishing for data producers, and ease of finding and accessing for data consumers. - api-change:
ecr
: [botocore
] Released two new APIs along with documentation updates. The GetAccountSetting API is used to view the current basic scan type version setting for your registry, while the PutAccountSetting API is used to update the basic scan type version for your registry. - api-change:
kinesis-video-webrtc-storage
: [botocore
] Add JoinStorageSessionAsViewer API - api-change:
pi
: [botocore
] Added a description for the Dimension db.sql.tokenized_id on the DimensionGroup data type page.
v1.34.153
========
- api-change:
cloudwatch
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
kinesis
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
resiliencehub
: [botocore
] Customers are presented with the grouping recommendations and can determine if the recommendations are accurate and apply to their case. This feature simplifies onboarding by organizing resources into appropriate AppComponents. - api-change:
route53
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
waf-regional
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
v1.34.152
========
- api-change:
bedrock
: [botocore
] API and Documentation for Bedrock Model Copy feature. This feature lets you share and copy a custom model from one region to another or one account to another. - api-change:
controlcatalog
: [botocore
] AWS Control Tower provides two new public APIs controlcatalog:ListControls and controlcatalog:GetControl under controlcatalog service namespace, which enable customers to programmatically retrieve control metadata of available controls. - api-change:
controltower
: [botocore
] Updated Control Tower service documentation for controlcatalog control ARN support with existing Control Tower public APIs - api-change:
iam
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
memorydb
: [botocore
] Doc only update for changes to deletion API. - api-change:
rds
: [botocore
] This release adds support for specifying optional MinACU parameter in CreateDBShardGroup and ModifyDBShardGroup API. DBShardGroup response will contain MinACU if specified. - api-change:
sagemaker
: [botocore
] This release adds support for Amazon EMR Serverless applications in SageMaker Studio for running data processing jobs. - api-change:
ssm-quicksetup
: [botocore
] This release adds API support for the QuickSetup feature of AWS Systems Manager - api-change:
support
: [botocore
] Doc only updates to CaseDetails
v1.34.151
========
- api-change:
appstream
: [botocore
] Added support for Red Hat Enterprise Linux 8 on Amazon AppStream 2.0 - api-change:
autoscaling
: [botocore
] Increase the length limit for VPCZoneIdentifier from 2047 to 5000 - api-change:
codepipeline
: [botocore
] AWS CodePipeline V2 type pipelines now support stage level conditions to enable development teams to safely release changes that meet quality and compliance requirements. - api-change:
elasticache
: [botocore
] Doc only update for changes to deletion API. - api-change:
elb
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
events
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
lexv2-models
: [botocore
] This release adds new capabilities to the AMAZON.QnAIntent: Custom prompting, Guardrails integration and ExactResponse support for Bedrock Knowledge Base. - api-change:
logs
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
rolesanywhere
: [botocore
] IAM RolesAnywhere now supports custom role session name on the CreateSession. This release adds the acceptRoleSessionName option to a profile to control whether a role session name will be accepted in a session request with a given profile. - api-change:
tnb
: [botocore
] This release adds Network Service Update, through which customers will be able to update their instantiated networks to a new network package. See the documentation for limitations. The release also enhances the Get network operation API to return parameter overrides used during the operation. - api-change:
workspaces
: [botocore
] Removing multi-session as it isn't supported for pools
v1.34.150
========
- api-change:
elasticache
: [botocore
] Renaming full service name as it appears in developer documentation. - api-change:
memorydb
: [botocore
] Renaming full service name as it appears in developer documentation.
v1.34.149
========
- api-change:
application-autoscaling
: [botocore
] Application Auto Scaling is now more responsive to the changes in demand of your SageMaker Inference endpoints. To get started, create or update a Target Tracking policy based on High Resolution CloudWatch metrics. - api-change:
application-signals
: [botocore
] CloudWatch Application Signals now supports application logs correlation with traces and operational health metrics of applications running on EC2 instances. Users can view the most relevant telemetry to troubleshoot application health anomalies such as spikes in latency, errors, and availability. - api-change:
bedrock-runtime
: [botocore
] Provides ServiceUnavailableException error message - api-change:
codecommit
: [botocore
] CreateRepository API now throws OperationNotAllowedException when the account has been restricted from creating a repository. - api-change:
datazone
: [botocore
] Introduces GetEnvironmentCredentials operation to SDK - api-change:
ec2
: [botocore
] EC2 Fleet now supports using custom identifiers to reference Amazon Machine Images (AMI) in launch requests that are configured to choose from a diversified list of instance types. - api-change:
ecr
: [botocore
] API and documentation updates for Amazon ECR, adding support for creating, updating, describing and deleting ECR Repository Creation Template. - api-change:
eks
: [botocore
] This release adds support for EKS cluster to manage extended support. - api-change:
elbv2
: [botocore
] This release adds support for sharing trust stores across accounts and organizations through integration with AWS Resource Access Manager. - api-change:
network-firewall
: [botocore
] You can now log events that are related to TLS inspection, in addition to the existing alert and flow logging. - api-change:
outposts
: [botocore
] Adding default vCPU information to GetOutpostSupportedInstanceTypes and GetOutpostInstanceTypes responses - api-change:
stepfunctions
: [botocore
] This release adds support to customer managed KMS key encryption in AWS Step Functions.
v1.34.148
========
- api-change:
cleanrooms
: [botocore
] Three enhancements to the AWS Clean Rooms: Disallowed Output Columns, Flexible Result Receivers, SQL as a Seed - api-change:
dynamodb
: [botocore
] DynamoDB doc only update for July - api-change:
iotsitewise
: [botocore
] Adds support for creating SiteWise Edge gateways that run on a Siemens Industrial Edge Device. - api-change:
mediapackagev2
: [botocore
] This release adds support for Irdeto DRM encryption in DASH manifests. - api-change:
medical-imaging
: [botocore
] CopyImageSet API adds copying selected instances between image sets, and overriding inconsistent metadata with a force parameter. UpdateImageSetMetadata API enables reverting to prior versions; updates to Study, Series, and SOP Instance UIDs; and updates to private elements, with a force parameter. - api-change:
pinpoint-sms-voice-v2
: [botocore
] Update for rebrand to AWS End User Messaging SMS and Voice.
v1.34.147
========
- api-change:
appsync
: [botocore
] Adding support for paginators in AppSync list APIs - api-change:
cleanrooms
: [botocore
] This release adds AWS Entity Resolution integration to associate ID namespaces & ID mapping workflow resources as part of ID namespace association and ID mapping table in AWS Clean Rooms. It also introduces a new ID_MAPPING_TABLE analysis rule to manage the protection on ID mapping table. - api-change:
cleanroomsml
: [botocore
] Adds SQL query as the source of seed audience for audience generation job. - api-change:
connect
: [botocore
] Added PostContactSummary segment type on ListRealTimeContactAnalysisSegmentsV2 API - api-change:
connect-contact-lens
: [botocore
] Added PostContactSummary segment type on ListRealTimeContactAnalysisSegments API - api-change:
datazone
: [botocore
] This release removes the deprecated dataProductItem field from Search API output. - api-change:
entityresolution
: [botocore
] Support First Party ID Mapping
v1.34.146
========
- api-change:
datazone
: [botocore
] This release adds 1/ support of register S3 locations of assets in AWS Lake Formation hybrid access mode for DefaultDataLake blueprint. 2/ support of CRUD operations for Asset Filters. - api-change:
ivs
: [botocore
] Documentation update for IVS Low Latency API Reference. - api-change:
mobile
: [botocore
] The mobile client has been removed following the deprecation of the service. - api-change:
neptune-graph
: [botocore
] Amazon Neptune Analytics provides new options for customers to start with smaller graphs at a lower cost. CreateGraph, CreaateGraphImportTask, UpdateGraph and StartImportTask APIs will now allow 32 and 64 forprovisioned-memory
- api-change:
redshift-serverless
: [botocore
] Adds dualstack support for Redshift Serverless workgroup.
v1.34.145
========
- api-change:
acm-pca
: [botocore
] Fix broken waiters for the acm-pca client. Waiters broke in version 1.13.144 of the Boto3 SDK. - api-change:
connect
: [botocore
] Amazon Connect expands search API coverage for additional resources. Search for hierarchy groups by name, ID, tag, or other criteria (new endpoint). Search for agent statuses by name, ID, tag, or other criteria (new endpoint). Search for users by their assigned proficiencies (enhanced endpoint) - api-change:
ec2
: [botocore
] Amazon VPC IP Address Manager (IPAM) now supports Bring-Your-Own-IP (BYOIP) for IP addresses registered with any Internet Registry. This feature uses DNS TXT records to validate ownership of a public IP address range. - api-change:
firehose
: [botocore
] This release 1) Add configurable buffering hints for Snowflake as destination. 2) Add ReadFromTimestamp for MSK As Source. Firehose will start reading data from MSK Cluster using offset associated with this timestamp. 3) Gated public beta release to add Apache Iceberg tables as destination. - api-change:
ivschat
: [botocore
] Documentation update for IVS Chat API Reference. - api-change:
medialive
: [botocore
] AWS Elemental MediaLive now supports the SRT protocol via the new SRT Caller input type. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation to specify an eventual consistency model for DescribePendingMaintenanceActions. - api-change:
sagemaker
: [botocore
] SageMaker Training supports R5, T3 and R5D instances family. And SageMaker Processing supports G5 and R5D instances family. - api-change:
secretsmanager
: [botocore
] Doc only update for Secrets Manager - api-change:
taxsettings
: [botocore
] Set default endpoint for aws partition. Requests from all regions in aws partition will be forward to us-east-1 endpoint. - api-change:
timestream-query
: [botocore
] Doc-only update for TimestreamQuery. Added guidance about the accepted valid value for the QueryPricingModel parameter. - api-change:
workspaces-thin-client
: [botocore
] Documentation update for WorkSpaces Thin Client. - bugfix:Waiter: [
botocore
] Update waiters to handle expected boolean values when matching errors (boto/botocore#3220 <https://github.com/boto/botocore/issues/3220>
__)
v1.34.144
========
- api-change:
acm-pca
: [botocore
] Minor refactoring of C2J model for AWS Private CA - api-change:
arc-zonal-shift
: [botocore
] Adds the option to subscribe to get notifications when a zonal autoshift occurs in a region. - api-change:
globalaccelerator
: [botocore
] This feature adds exceptions to the Customer API to avoid throwing Internal Service errors - api-change:
pinpoint
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
quicksight
: [botocore
] Vega ally control options and Support for Reviewed Answers in Topics
v1.34.143
========
- api-change:
batch
: [botocore
] This feature allows AWS Batch Jobs with EKS container orchestration type to be run as Multi-Node Parallel Jobs. - api-change:
bedrock
: [botocore
] Add support for contextual grounding check for Guardrails for Amazon Bedrock. - api-change:
bedrock-agent
: [botocore
] Introduces new data sources and chunking strategies for Knowledge bases, advanced parsing logic using FMs, session summary generation, and code interpretation (preview) for Claude V3 Sonnet and Haiku models. Also introduces Prompt Flows (preview) to link prompts, foundational models, and resources. - api-change:
bedrock-agent-runtime
: [botocore
] Introduces query decomposition, enhanced Agents integration with Knowledge bases, session summary generation, and code interpretation (preview) for Claude V3 Sonnet and Haiku models. Also introduces Prompt Flows (preview) to link prompts, foundational models, and resources for end-to-end solutions. - api-change:
bedrock-runtime
: [botocore
] Add support for contextual grounding check and ApplyGuardrail API for Guardrails for Amazon Bedrock. - api-change:
ec2
: [botocore
] Add parameters to enable provisioning IPAM BYOIPv4 space at a Local Zone Network Border Group level - api-change:
glue
: [botocore
] Add recipe step support for recipe node - api-change:
groundstation
: [botocore
] Documentation update specifying OEM ephemeris units of measurement - api-change:
license-manager-linux-subscriptions
: [botocore
] Add support for third party subscription providers, starting with RHEL subscriptions through Red Hat Subscription Manager (RHSM). Additionally, add support for tagging subscription provider resources, and detect when an instance has more than one Linux subscription and notify the customer. - api-change:
mediaconnect
: [botocore
] AWS Elemental MediaConnect introduces the ability to disable outputs. Disabling an output allows you to keep the output attached to the flow, but stop streaming to the output destination. A disabled output does not incur data transfer costs.
v1.34.142
========
- api-change:
datazone
: [botocore
] This release deprecates dataProductItem field from SearchInventoryResultItem, along with some unused DataProduct shapes - api-change:
fsx
: [botocore
] Adds support for FSx for NetApp ONTAP 2nd Generation file systems, and FSx for OpenZFS Single AZ HA file systems. - api-change:
opensearch
: [botocore
] This release adds support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the current state of the setup or tear-down. - api-change:
sagemaker
: [botocore
] This release 1/ enables optimization jobs that allows customers to perform Ahead-of-time compilation and quantization. 2/ allows customers to control access to Amazon Q integration in SageMaker Studio. 3/ enables AdditionalModelDataSources for CreateModel action.
v1.34.141
========
- api-change:
codedeploy
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
devicefarm
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
dms
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
elasticbeanstalk
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
es
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
firehose
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
gamelift
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
qapps
: [botocore
] This is a general availability (GA) release of Amazon Q Apps, a capability of Amazon Q Business. Q Apps leverages data sources your company has provided to enable users to build, share, and customize apps within your organization. - api-change:
route53resolver
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
ses
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
v1.34.140
========
- api-change:
acm
: [botocore
] Documentation updates, including fixes for xml formatting, broken links, and ListCertificates description. - api-change:
ecr
: [botocore
] This release for Amazon ECR makes change to bring the SDK into sync with the API. - api-change:
payment-cryptography-data
: [botocore
] Added further restrictions on logging of potentially sensitive inputs and outputs. - api-change:
qbusiness
: [botocore
] Add personalization to Q Applications. Customers can enable or disable personalization when creating or updating a Q application with the personalization configuration.
v1.34.139
========
- api-change:
application-autoscaling
: [botocore
] Doc only update for Application Auto Scaling that fixes resource name. - api-change:
directconnect
: [botocore
] This update includes documentation for support of new native 400 GBps ports for Direct Connect. - api-change:
organizations
: [botocore
] Added a new reason under ConstraintViolationException in RegisterDelegatedAdministrator API to prevent registering suspended accounts as delegated administrator of a service. - api-change:
rekognition
: [botocore
] This release adds support for tagging projects and datasets with the CreateProject and CreateDataset APIs. - api-change:
workspaces
: [botocore
] Fix create workspace bundle RootStorage/UserStorage to accept non null values
v1.34.138
========
- api-change:
ec2
: [botocore
] Documentation updates for Elastic Compute Cloud (EC2). - api-change:
fms
: [botocore
] Increases Customer API's ManagedServiceData length - api-change:
s3
: [botocore
] Added response overrides to Head Object requests.
v1.34.137
========
- api-change:
apigateway
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
cognito-identity
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
connect
: [botocore
] Authentication profiles are Amazon Connect resources (in gated preview) that allow you to configure authentication settings for users in your contact center. This release adds support for new ListAuthenticationProfiles, DescribeAuthenticationProfile and UpdateAuthenticationProfile APIs. - api-change:
docdb
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
eks
: [botocore
] Updates EKS managed node groups to support EC2 Capacity Blocks for ML - api-change:
payment-cryptography
: [botocore
] Added further restrictions on logging of potentially sensitive inputs and outputs. - api-change:
payment-cryptography-data
: [botocore
] Adding support for dynamic keys for encrypt, decrypt, re-encrypt and translate pin functions. With this change, customers can use one-time TR-31 keys directly in dataplane operations without the need to first import them into the service. - api-change:
stepfunctions
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
swf
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
wafv2
: [botocore
] JSON body inspection: Update documentation to clarify that JSON parsing doesn't include full validation.
v1.34.136
========
- api-change:
acm-pca
: [botocore
] Added CCPC_LEVEL_1_OR_HIGHER KeyStorageSecurityStandard and SM2 KeyAlgorithm and SM3WITHSM2 SigningAlgorithm for China regions. - api-change:
cloudhsmv2
: [botocore
] Added 3 new APIs to support backup sharing: GetResourcePolicy, PutResourcePolicy, and DeleteResourcePolicy. Added BackupArn to the output of the DescribeBackups API. Added support for BackupArn in the CreateCluster API. - api-change:
connect
: [botocore
] This release supports showing PreferredAgentRouting step via DescribeContact API. - api-change:
emr
: [botocore
] This release provides the support for new allocation strategies i.e. CAPACITY_OPTIMIZED_PRIORITIZED for Spot and PRIORITIZED for On-Demand by taking input of priority value for each instance type for instance fleet clusters. - api-change:
glue
: [botocore
] Added AttributesToGet parameter to Glue GetDatabases, allowing caller to limit output to include only the database name. - api-change:
kinesisanalyticsv2
: [botocore
] Support for Flink 1.19 in Managed Service for Apache Flink - api-change:
opensearch
: [botocore
] This release removes support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains. - api-change:
pi
: [botocore
] Noting that the filter db.sql.db_id isn't available for RDS for SQL Server DB instances. - api-change:
workspaces
: [botocore
] Added support for Red Hat Enterprise Linux 8 on Amazon WorkSpaces Personal.
v1.34.135
========
- api-change:
application-autoscaling
: [botocore
] Amazon WorkSpaces customers can now use Application Auto Scaling to automatically scale the number of virtual desktops in a WorkSpaces pool. - api-change:
chime-sdk-media-pipelines
: [botocore
] Added Amazon Transcribe multi language identification to Chime SDK call analytics. Enabling customers sending single stream audio to generate call recordings using Chime SDK call analytics - api-change:
cloudfront
: [botocore
] Doc only update for CloudFront that fixes customer-reported issue - api-change:
datazone
: [botocore
] This release supports the data lineage feature of business data catalog in Amazon DataZone. - api-change:
elasticache
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
mq
: [botocore
] This release makes the EngineVersion field optional for both broker and configuration and uses the latest available version by default. The AutoMinorVersionUpgrade field is also now optional for broker creation and defaults to 'true'. - api-change:
qconnect
: [botocore
] Adds CreateContentAssociation, ListContentAssociations, GetContentAssociation, and DeleteContentAssociation APIs. - api-change:
quicksight
: [botocore
] Adding support for Repeating Sections, Nested Filters - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for TAZ export to S3. - api-change:
sagemaker
: [botocore
] Add capability for Admins to customize Studio experience for the user by showing or hiding Apps and MLTools. - api-change:
workspaces
: [botocore
] Added support for WorkSpaces Pools.
v1.34.134
========
- api-change:
controltower
: [botocore
] Added ListLandingZoneOperations API. - api-change:
eks
: [botocore
] Added support for disabling unmanaged addons during cluster creation. - api-change:
ivs-realtime
: [botocore
] IVS Real-Time now offers customers the ability to upload public keys for customer vended participant tokens. - api-change:
kinesisanalyticsv2
: [botocore
] This release adds support for new ListApplicationOperations and DescribeApplicationOperation APIs. It adds a new configuration to enable system rollbacks, adds field ApplicationVersionCreateTimestamp for clarity and improves support for pagination for APIs. - api-change:
opensearch
: [botocore
] This release adds support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the current state of the setup or tear-down.
v1.34.133
========
- api-change:
autoscaling
: [botocore
] Doc only update for Auto Scaling's TargetTrackingMetricDataQuery - api-change:
ec2
: [botocore
] This release is for the launch of the new u7ib-12tb.224xlarge, R8g, c7gn.metal and mac2-m1ultra.metal instance types - api-change:
networkmanager
: [botocore
] This is model changes & documentation update for the Asynchronous Error Reporting feature for AWS Cloud WAN. This feature allows customers to view errors that occur while their resources are being provisioned, enabling customers to fix their resources without needing external support. - api-change:
workspaces-thin-client
: [botocore
] This release adds the deviceCreationTags field to CreateEnvironment API input, UpdateEnvironment API input and GetEnvironment API output.
v1.34.132
========
- api-change:
bedrock-runtime
: [botocore
] Increases Converse API's document name length - api-change:
customer-profiles
: [botocore
] This release includes changes to ProfileObjectType APIs, adds functionality top set and get capacity for profile object types. - api-change:
ec2
: [botocore
] Fix EC2 multi-protocol info in models. - api-change:
qbusiness
: [botocore
] Allow enable/disable Q Apps when creating/updating a Q application; Return the Q Apps enablement information when getting a Q application. - api-change:
ssm
: [botocore
] Add sensitive trait to SSM IPAddress property for CloudTrail redaction - api-change:
workspaces-web
: [botocore
] Added ability to enable DeepLinking functionality on a Portal via UserSettings as well as added support for IdentityProvider resource tagging.
v1.34.131
========
- api-change:
bedrock-runtime
: [botocore
] This release adds document support to Converse and ConverseStream APIs - api-change:
codeartifact
: [botocore
] Add support for the Cargo package format. - api-change:
compute-optimizer
: [botocore
] This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL. - api-change:
cost-optimization-hub
: [botocore
] This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL. - api-change:
dynamodb
: [botocore
] Doc-only update for DynamoDB. Fixed Important note in 6 Global table APIs - CreateGlobalTable, DescribeGlobalTable, DescribeGlobalTableSettings, ListGlobalTables, UpdateGlobalTable, and UpdateGlobalTableSettings. - api-change:
glue
: [botocore
] Fix Glue paginators for Jobs, JobRuns, Triggers, Blueprints and Workflows. - api-change:
ivs-realtime
: [botocore
] IVS Real-Time now offers customers the ability to record individual stage participants to S3. - api-change:
sagemaker
: [botocore
] Adds support for model references in Hub service, and adds support for cross-account access of Hubs - api-change:
securityhub
: [botocore
] Documentation updates for Security Hub
v1.34.130
========
- api-change:
artifact
: [botocore
] This release adds an acceptanceType field to the ReportSummary structure (used in the ListReports API response). - api-change:
athena
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
cur
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
directconnect
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
elastictranscoder
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
opensearch
: [botocore
] This release enables customers to use JSON Web Tokens (JWT) for authentication on their Amazon OpenSearch Service domains.
v1.34.129
========
- api-change:
bedrock-runtime
: [botocore
] This release adds support for using Guardrails with the Converse and ConverseStream APIs. - api-change:
cloudtrail
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
config
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
eks
: [botocore
] This release adds support to surface async fargate customer errors from async path to customer through describe-fargate-profile API response. - api-change:
lightsail
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
polly
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
rekognition
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
sagemaker
: [botocore
] Launched a new feature in SageMaker to provide managed MLflow Tracking Servers for customers to track ML experiments. This release also adds a new capability of attaching additional storage to SageMaker HyperPod cluster instances. - api-change:
shield
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
snowball
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
v1.34.128
========
- api-change:
acm-pca
: [botocore
] Doc-only update that adds name constraints as an allowed extension for ImportCertificateAuthorityCertificate. - api-change:
batch
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
codebuild
: [botocore
] AWS CodeBuild now supports global and organization GitHub webhooks - api-change:
cognito-idp
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
ds
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
efs
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
glue
: [botocore
] This release introduces a new feature, Usage profiles. Usage profiles allow the AWS Glue admin to create different profiles for various classes of users within the account, enforcing limits and defaults for jobs and sessions. - api-change:
mediaconvert
: [botocore
] This release includes support for creating I-frame only video segments for DASH trick play. - api-change:
secretsmanager
: [botocore
] Doc only update for Secrets Manager - api-change:
waf
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
v1.34.127
========
- api-change:
datazone
: [botocore
] This release introduces a new default service blueprint for custom environment creation. - api-change:
ec2
: [botocore
] Documentation updates for Amazon EC2. - api-change:
macie2
: [botocore
] This release adds support for managing the status of automated sensitive data discovery for individual accounts in an organization, and determining whether individual S3 buckets are included in the scope of the analyses. - api-change:
mediaconvert
: [botocore
] This release adds the ability to search for historical job records within the management console using a search box and/or via the SDK/CLI with partial string matching search on input file name. - api-change:
route53domains
: [botocore
] Add v2 smoke tests and smithy smokeTests trait for SDK testing.
v1.34.126
========
- api-change:
cloudhsmv2
: [botocore
] Added support for hsm type hsm2m.medium. Added supported for creating a cluster in FIPS or NON_FIPS mode. - api-change:
glue
: [botocore
] This release adds support for configuration of evaluation method for composite rules in Glue Data Quality rulesets. - api-change:
iotwireless
: [botocore
] Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer Metrics. - api-change:
kms
: [botocore
] This feature allows customers to use their keys stored in KMS to derive a shared secret which can then be used to establish a secured channel for communication, provide proof of possession, or establish trust with other parties. - api-change:
mediapackagev2
: [botocore
] This release adds support for CMAF ingest (DASH-IF live media ingest protocol interface 1)
v1.34.125
========
- api-change:
apptest
: [botocore
] AWS Mainframe Modernization Application Testing is an AWS Mainframe Modernization service feature that automates functional equivalence testing for mainframe application modernization and migration to AWS, and regression testing. - api-change:
backupstorage
: [botocore
] The backupstorage client has been removed following the deprecation of the service. - api-change:
ec2
: [botocore
] Tagging support for Traffic Mirroring FilterRule resource - api-change:
osis
: [botocore
] SDK changes for self-managed vpc endpoint to OpenSearch ingestion pipelines. - api-change:
redshift
: [botocore
] Updates to remove DC1 and DS2 node types. - api-change:
secretsmanager
: [botocore
] Introducing RotationToken parameter for PutSecretValue API - api-change:
securitylake
: [botocore
] This release updates request validation regex to account for non-commercial aws partitions. - api-change:
sesv2
: [botocore
] This release adds support for Amazon EventBridge as an email sending events destination.
v1.34.124
========
- api-change:
accessanalyzer
: [botocore
] IAM Access Analyzer now provides policy recommendations to help resolve unused permissions for IAM roles and users. Additionally, IAM Access Analyzer now extends its custom policy checks to detect when IAM policies grant public access or access to critical resources ahead of deployments. - api-change:
guardduty
: [botocore
] Added API support for GuardDuty Malware Protection for S3. - api-change:
networkmanager
: [botocore
] This is model changes & documentation update for Service Insertion feature for AWS Cloud WAN. This feature allows insertion of AWS/3rd party security services on Cloud WAN. This allows to steer inter/intra segment traffic via security appliances and provide visibility to the route updates. - api-change:
pca-connector-scep
: [botocore
] Connector for SCEP allows you to use a managed, cloud CA to enroll mobile devices and networking gear. SCEP is a widely-adopted protocol used by mobile device management (MDM) solutions for enrolling mobile devices. With the connector, you can use AWS Private CA with popular MDM solutions. - api-change:
sagemaker
: [botocore
] Introduced Scope and AuthenticationRequestExtraParams to SageMaker Workforce OIDC configuration; this allows customers to modify these options for their private Workforce IdP integration. Model Registry Cross-account model package groups are discoverable.
v1.34.123
========
- api-change:
application-signals
: [botocore
] This is the initial SDK release for Amazon CloudWatch Application Signals. Amazon CloudWatch Application Signals provides curated application performance monitoring for developers to monitor and troubleshoot application health using pre-built dashboards and Service Level Objectives. - api-change:
ecs
: [botocore
] This release introduces a new cluster configuration to support the customer-managed keys for ECS managed storage encryption. - api-change:
imagebuilder
: [botocore
] This release updates the regex pattern for Image Builder ARNs.
v1.34.122
========
- api-change:
auditmanager
: [botocore
] New feature: common controls. When creating custom controls, you can now use pre-grouped AWS data sources based on common compliance themes. Also, the awsServices parameter is deprecated because we now manage services in scope for you. If used, the input is ignored and an empty list is returned. - api-change:
b2bi
: [botocore
] Added exceptions to B2Bi List operations and ConflictException to B2Bi StartTransformerJob operation. Also made capabilities field explicitly required when creating a Partnership. - api-change:
codepipeline
: [botocore
] CodePipeline now supports overriding S3 Source Object Key during StartPipelineExecution, as part of Source Overrides. - api-change:
sagemaker
: [botocore
] This release introduces a new optional parameter: InferenceAmiVersion, in ProductionVariant. - api-change:
verifiedpermissions
: [botocore
] This release adds OpenIdConnect (OIDC) configuration support for IdentitySources, allowing for external IDPs to be used in authorization requests.
v1.34.121
========
- api-change:
account
: [botocore
] This release adds 3 new APIs (AcceptPrimaryEmailUpdate, GetPrimaryEmail, and StartPrimaryEmailUpdate) used to centrally manage the root user email address of member accounts within an AWS organization. - api-change:
alexaforbusiness
: [botocore
] The alexaforbusiness client has been removed following the deprecation of the service. - api-change:
firehose
: [botocore
] Adds integration with Secrets Manager for Redshift, Splunk, HttpEndpoint, and Snowflake destinations - api-change:
fsx
: [botocore
] This release adds support to increase metadata performance on FSx for Lustre file systems beyond the default level provisioned when a file system is created. This can be done by specifying MetadataConfiguration during the creation of Persistent_2 file systems or by updating it on demand. - api-change:
glue
: [botocore
] This release adds support for creating and updating Glue Data Catalog Views. - api-change:
honeycode
: [botocore
] The honeycode client has been removed following the deprecation of the service. - api-change:
iotwireless
: [botocore
] Adds support for wireless device to be in Conflict FUOTA Device Status due to a FUOTA Task, so it couldn't be attached to a new one. - api-change:
location
: [botocore
] Added two new APIs, VerifyDevicePosition and ForecastGeofenceEvents. Added support for putting larger geofences up to 100,000 vertices with Geobuf fields. - api-change:
sns
: [botocore
] Doc-only update for SNS. These changes include customer-reported issues and TXC3 updates. - api-change:
sqs
: [botocore
] Doc only updates for SQS. These updates include customer-reported issues and TCX3 modifications. - api-change:
storagegateway
: [botocore
] Adds SoftwareUpdatePreferences to DescribeMaintenanceStartTime and UpdateMaintenanceStartTime, a structure which contains AutomaticUpdatePolicy. - enhancement:AWSCRT: [
botocore
] Update awscrt version to 0.20.11
v1.34.120
========
- api-change:
globalaccelerator
: [botocore
] This release contains a new optional ip-addresses input field for the update accelerator and update custom routing accelerator apis. This input enables consumers to replace IPv4 addresses on existing accelerators with addresses provided in the input. - api-change:
glue
: [botocore
] AWS Glue now supports native SaaS connectivity: Salesforce connector available now - api-change:
s3
: [botocore
] Added new params copySource and key to copyObject API for supporting S3 Access Grants plugin. These changes will not change any of the existing S3 API functionality.
v1.34.119
========
- api-change:
ec2
: [botocore
] U7i instances with up to 32 TiB of DDR5 memory and 896 vCPUs are now available. C7i-flex instances are launched and are lower-priced variants of the Amazon EC2 C7i instances that offer a baseline level of CPU performance with the ability to scale up to the full compute performance 95% of the time. - api-change:
pipes
: [botocore
] This release adds Timestream for LiveAnalytics as a supported target in EventBridge Pipes - api-change:
sagemaker
: [botocore
] Extend DescribeClusterNode response with private DNS hostname and IP address, and placement information about availability zone and availability zone ID. - api-change:
taxsettings
: [botocore
] Initial release of AWS Tax Settings API
v1.34.118
========
- api-change:
amplify
: [botocore
] This doc-only update identifies fields that are specific to Gen 1 and Gen 2 applications. - api-change:
batch
: [botocore
] This release adds support for the AWS Batch GetJobQueueSnapshot API operation. - api-change:
eks
: [botocore
] Adds support for EKS add-ons pod identity associations integration - api-change:
iottwinmaker
: [botocore
] Support RESET_VALUE UpdateType for PropertyUpdates to reset property value to default or null
v1.34.117
========
- api-change:
codebuild
: [botocore
] AWS CodeBuild now supports Self-hosted GitHub Actions runners for Github Enterprise - api-change:
codeguru-security
: [botocore
] This release includes minor model updates and documentation updates. - api-change:
elasticache
: [botocore
] Update to attributes of TestFailover and minor revisions. - api-change:
launch-wizard
: [botocore
] This release adds support for describing workload deployment specifications, deploying additional workload types, and managing tags for Launch Wizard resources with API operations.
v1.34.116
========
- api-change:
acm
: [botocore
] add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
bedrock-agent
: [botocore
] With this release, Knowledge bases for Bedrock adds support for Titan Text Embedding v2. - api-change:
bedrock-runtime
: [botocore
] This release adds Converse and ConverseStream APIs to Bedrock Runtime - api-change:
cloudtrail
: [botocore
] CloudTrail Lake returns PartitionKeys in the GetEventDataStore API response. Events are grouped into partitions based on these keys for better query performance. For example, the calendarday key groups events by day, while combining the calendarday key with the hour key groups them by day and hour. - api-change:
connect
: [botocore
] Adding associatedQueueIds as a SearchCriteria and response field to the SearchRoutingProfiles API - api-change:
emr-serverless
: [botocore
] The release adds support for spark structured streaming. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for Aurora Postgres DBname. - api-change:
sagemaker
: [botocore
] Adds Model Card information as a new component to Model Package. Autopilot launches algorithm selection for TimeSeries modality to generate AutoML candidates per algorithm.
v1.34.115
========
- api-change:
athena
: [botocore
] Throwing validation errors on CreateNotebook with Name containing/
,:
,\
- api-change:
codebuild
: [botocore
] AWS CodeBuild now supports manually creating GitHub webhooks - api-change:
connect
: [botocore
] This release includes changes to DescribeContact API's response by including ConnectedToSystemTimestamp, RoutingCriteria, Customer, Campaign, AnsweringMachineDetectionStatus, CustomerVoiceActivity, QualityMetrics, DisconnectDetails, and SegmentAttributes information from a contact in Amazon Connect. - api-change:
glue
: [botocore
] Add optional field JobMode to CreateJob and UpdateJob APIs. - api-change:
securityhub
: [botocore
] Add ROOT type for TargetType model
v1.34.114
========
- api-change:
dynamodb
: [botocore
] Doc-only update for DynamoDB. Specified the IAM actions needed to authorize a user to create a table with a resource-based policy. - api-change:
ec2
: [botocore
] Providing support to accept BgpAsnExtended attribute - api-change:
kafka
: [botocore
] Adds ControllerNodeInfo in ListNodes response to support Raft mode for MSK - api-change:
swf
: [botocore
] This release adds new APIs for deleting activity type and workflow type resources.
v1.34.113
========
- api-change:
dynamodb
: [botocore
] Documentation only updates for DynamoDB. - api-change:
iotfleetwise
: [botocore
] AWS IoT FleetWise now supports listing vehicles with attributes filter, ListVehicles API is updated to support additional attributes filter. - api-change:
managedblockchain
: [botocore
] This is a minor documentation update to address the impact of the shut down of the Goerli and Polygon networks.
v1.34.112
========
- api-change:
emr-serverless
: [botocore
] This release adds the capability to run interactive workloads using Apache Livy Endpoint. - api-change:
opsworks
: [botocore
] Documentation-only update for OpsWorks Stacks.
v1.34.111
========
- api-change:
chatbot
: [botocore
] This change adds support for tagging Chatbot configurations. - api-change:
cloudformation
: [botocore
] Added DeletionMode FORCE_DELETE_STACK for deleting a stack that is stuck in DELETE_FAILED state due to resource deletion failure. - api-change:
kms
: [botocore
] This release includes feature to import customer's asymmetric (RSA, ECC and SM2) and HMAC keys into KMS in China. - api-change:
opensearch
: [botocore
] This release adds support for enabling or disabling a data source configured as part of Zero-ETL integration with Amazon S3, by setting its status. - api-change:
wafv2
: [botocore
] You can now use Security Lake to collect web ACL traffic data.
v1.34.110
========
- api-change:
cloudfront
: [botocore
] Model update; no change to SDK functionality. - api-change:
glue
: [botocore
] Add Maintenance window to CreateJob and UpdateJob APIs and JobRun response. Add a new Job Run State for EXPIRED. - api-change:
lightsail
: [botocore
] This release adds support for Amazon Lightsail instances to switch between dual-stack or IPv4 only and IPv6-only public IP address types. - api-change:
mailmanager
: [botocore
] This release includes a new Amazon SES feature called Mail Manager, which is a set of email gateway capabilities designed to help customers strengthen their organization's email infrastructure, simplify email workflow management, and streamline email compliance control. - api-change:
pi
: [botocore
] Performance Insights added a new input parameter called AuthorizedActions to support the fine-grained access feature. Performance Insights also restricted the acceptable input characters. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for Db2 license through AWS Marketplace. - api-change:
storagegateway
: [botocore
] Added new SMBSecurityStrategy enum named MandatoryEncryptionNoAes128, new mode enforces encryption and disables AES 128-bit algorithums.
v1.34.109
========
- api-change:
bedrock-agent
: [botocore
] This release adds support for using Guardrails with Bedrock Agents. - api-change:
bedrock-agent-runtime
: [botocore
] This release adds support for using Guardrails with Bedrock Agents. - api-change:
controltower
: [botocore
] Added ListControlOperations API and filtering support for ListEnabledControls API. Updates also includes added metadata for enabled controls and control operations. - api-change:
osis
: [botocore
] Add support for creating an OpenSearch Ingestion pipeline that is attached to a provided VPC. Add information about the destinations of an OpenSearch Ingestion pipeline to the GetPipeline and ListPipelines APIs. - api-change:
rds
: [botocore
] This release adds support for EngineLifecycleSupport on DBInstances, DBClusters, and GlobalClusters. - api-change:
secretsmanager
: [botocore
] add v2 smoke tests and smithy smokeTests trait for SDK testing
v1.34.108
========
- api-change:
application-autoscaling
: [botocore
] add v2 smoke tests and smithy smokeTests trait for SDK testing. - api-change:
codebuild
: [botocore
] Aws CodeBuild now supports 36 hours build timeout - api-change:
elbv2
: [botocore
] This release adds dualstack-without-public-ipv4 IP address type for ALB. - api-change:
lakeformation
: [botocore
] Introduces a new API, GetDataLakePrincipal, that returns the identity of the invoking principal - api-change:
transfer
: [botocore
] Enable use of CloudFormation traits in Smithy model to improve generated CloudFormation schema from the Smithy API model.
v1.34.107
========
- api-change:
acm-pca
: [botocore
] This release adds support for waiters to fail on AccessDeniedException when having insufficient permissions - api-change:
connect
: [botocore
] Adding Contact Flow metrics to the GetMetricDataV2 API - api-change:
kafka
: [botocore
] AWS MSK support for Broker Removal. - api-change:
mwaa
: [botocore
] Amazon MWAA now supports Airflow web server auto scaling to automatically handle increased demand from REST APIs, Command Line Interface (CLI), or more Airflow User Interface (UI) users. Customers can specify maximum and minimum web server instances during environment creation and update workflow. - api-change:
quicksight
: [botocore
] This release adds DescribeKeyRegistration and UpdateKeyRegistration APIs to manage QuickSight Customer Managed Keys (CMK). - api-change:
sagemaker
: [botocore
] Introduced WorkerAccessConfiguration to SageMaker Workteam. This allows customers to configure resource access for workers in a workteam. - api-change:
secretsmanager
: [botocore
] Documentation updates for AWS Secrets Manager - bugfix:retries: [
botocore
] Fix backoff calculation for truncated binary exponential backoff (#​3178 <https://github.com/boto/botocore/issues/3178>
__)
v1.34.106
========
- api-change:
bedrock-agent-runtime
: [botocore
] Updating Bedrock Knowledge Base Metadata & Filters feature with two new filters listContains and stringContains - api-change:
codebuild
: [botocore
] CodeBuild Reserved Capacity VPC Support - api-change:
datasync
: [botocore
] Task executions now display a CANCELLING status when an execution is in the process of being cancelled. - api-change:
grafana
: [botocore
] This release adds new ServiceAccount and ServiceAccountToken APIs. - api-change:
medical-imaging
: [botocore
] Added support for importing medical imaging data from Amazon S3 buckets across accounts and regions. - api-change:
securityhub
: [botocore
] Documentation-only update for AWS Security Hub
v1.34.105
========
- api-change:
connect
: [botocore
] Amazon Connect provides enhanced search capabilities for flows & flow modules on the Connect admin website and programmatically using APIs. You can search for flows and flow modules by name, description, type, status, and tags, to filter and identify a specific flow in your Connect instances. - api-change:
s3
: [botocore
] Updated a few x-id in the http uri traits
v1.34.104
========
- api-change:
events
: [botocore
] Amazon EventBridge introduces KMS customer-managed key (CMK) encryption support for custom and partner events published on EventBridge Event Bus (including default bus) and UpdateEventBus API. - api-change:
vpc-lattice
: [botocore
] This release adds TLS Passthrough support. It also increases max number of target group per rule to 10.
v1.34.103
========
- api-change:
discovery
: [botocore
] add v2 smoke tests and smithy smokeTests trait for SDK testing - api-change:
greengrassv2
: [botocore
] Mark ComponentVersion in ComponentDeploymentSpecification as required. - api-change:
sagemaker
: [botocore
] Introduced support for G6 instance types on Sagemaker Notebook Instances and on SageMaker Studio for JupyterLab and CodeEditor applications. - api-change:
sso-oidc
: [botocore
] Updated request parameters for PKCE support.
v1.34.102
========
- api-change:
bedrock-agent-runtime
: [botocore
] This release adds support to provide guardrail configuration and modify inference parameters that are then used in RetrieveAndGenerate API in Agents for Amazon Bedrock. - api-change:
pinpoint
: [botocore
] This release adds support for specifying email message headers for Email Templates, Campaigns, Journeys and Send Messages. - api-change:
route53resolver
: [botocore
] Update the DNS Firewall settings to correct a spelling issue. - api-change:
ssm-sap
: [botocore
] Added support for application-aware start/stop of SAP applications running on EC2 instances, with SSM for SAP - api-change:
verifiedpermissions
: [botocore
] Adds policy effect and actions fields to Policy API's.
v1.34.101
========
- api-change:
cognito-idp
: [botocore
] Add EXTERNAL_PROVIDER enum value to UserStatusType. - api-change:
ec2
: [botocore
] Adding Precision Hardware Clock (PHC) to public API DescribeInstanceTypes - api-change:
ecr
: [botocore
] This release adds pull through cache rules support for GitLab container registry in Amazon ECR. - api-change:
fms
: [botocore
] The policy scope resource tag is always a string value, either a non-empty string or an empty string. - api-change:
polly
: [botocore
] Add new engine - generative - that builds the most expressive conversational voices. - api-change:
sqs
: [botocore
] This release adds MessageSystemAttributeNames to ReceiveMessageRequest to replace AttributeNames.
v1.34.100
========
- api-change:
b2bi
: [botocore
] Documentation update to clarify the MappingTemplate definition. - api-change:
budgets
: [botocore
] This release adds tag support for budgets and budget actions. - api-change:
resiliencehub
: [botocore
] AWS Resilience Hub has expanded its drift detection capabilities by introducing a new type of drift detection - application resource drift. This new enhancement detects changes, such as the addition or deletion of resources within the application's input sources. - api-change:
route53profiles
: [botocore
] Doc only update for Route 53 profiles that fixes some link issues
v1.34.99
=======
- api-change:
medialive
: [botocore
] AWS Elemental MediaLive now supports configuring how SCTE 35 passthrough triggers segment breaks in HLS and MediaPackage output groups. Previously, messages triggered breaks in all these output groups. The new option is to trigger segment breaks only in groups that have SCTE 35 passthrough enabled.
v1.34.98
=======
- api-change:
bedrock-agent
: [botocore
] This release adds support for using Provisioned Throughput with Bedrock Agents. - api-change:
connect
: [botocore
] This release adds 5 new APIs for managing attachments: StartAttachedFileUpload, CompleteAttachedFileUpload, GetAttachedFile, BatchGetAttachedFileMetadata, DeleteAttachedFile. These APIs can be used to programmatically upload and download attachments to Connect resources, like cases. - api-change:
connectcases
: [botocore
] This feature supports the release of Files related items - api-change:
datasync
: [botocore
] Updated guidance on using private or self-signed certificate authorities (CAs) with AWS DataSync object storage locations. - api-change:
inspector2
: [botocore
] This release adds CSV format to GetCisScanReport for Inspector v2 - api-change:
sagemaker
: [botocore
] Amazon SageMaker Inference now supports m6i, c6i, r6i, m7i, c7i, r7i and g5 instance types for Batch Transform Jobs - api-change:
sesv2
: [botocore
] Adds support for specifying replacement headers per BulkEmailEntry in SendBulkEmail in SESv2.
v1.34.97
=======
- api-change:
dynamodb
: [botocore
] This release adds support to specify an optional, maximum OnDemandThroughput for DynamoDB tables and global secondary indexes in the CreateTable or UpdateTable APIs. You can also override the OnDemandThroughput settings by calling the ImportTable, RestoreFromPointInTime, or RestoreFromBackup APIs. - api-change:
ec2
: [botocore
] This release includes a new API for retrieving the public endorsement key of the EC2 instance's Nitro Trusted Platform Module (NitroTPM). - api-change:
personalize
: [botocore
] This releases ability to delete users and their data, including their metadata and interactions data, from a dataset group. - api-change:
redshift-serverless
: [botocore
] Update Redshift Serverless List Scheduled Actions Output Response to include Namespace Name.
v1.34.96
=======
- api-change:
bedrock-agent
: [botocore
] This release adds support for using MongoDB Atlas as a vector store when creating a knowledge base. - api-change:
ec2
: [botocore
] Documentation updates for Amazon EC2. - api-change:
personalize-runtime
: [botocore
] This release adds support for a Reason attribute for predicted items generated by User-Personalization-v2. - api-change:
securityhub
: [botocore
] Updated CreateMembers API request with limits. - api-change:
sesv2
: [botocore
] Fixes ListContacts and ListImportJobs APIs to use POST instead of GET.
v1.34.95
=======
- api-change:
chime-sdk-voice
: [botocore
] Due to changes made by the Amazon Alexa service, GetSipMediaApplicationAlexaSkillConfiguration and PutSipMediaApplicationAlexaSkillConfiguration APIs are no longer available for use. For more information, refer to the Alexa Smart Properties page. - api-change:
codeartifact
: [botocore
] Add support for the Ruby package format. - api-change:
fms
: [botocore
] AWS Firewall Manager now supports the network firewall service stream exception policy feature for accounts within your organization. - api-change:
omics
: [botocore
] Add support for workflow sharing and dynamic run storage - api-change:
opensearch
: [botocore
] This release enables customers to create Route53 A and AAAA alias record types to point custom endpoint domain to OpenSearch domain's dualstack search endpoint. - api-change:
pinpoint-sms-voice-v2
: [botocore
] Amazon Pinpoint has added two new features Multimedia services (MMS) and protect configurations. Use the three new MMS APIs to send media messages to a mobile phone which includes image, audio, text, or video files. Use the ten new protect configurations APIs to block messages to specific countries. - api-change:
qbusiness
: [botocore
] This is a general availability (GA) release of Amazon Q Business. Q Business enables employees in an enterprise to get comprehensive answers to complex questions and take actions through a unified, intuitive web-based chat experience - using an enterprise's existing content, data, and systems. - api-change:
quicksight
: [botocore
] New Q embedding supporting Generative Q&A - api-change:
route53resolver
: [botocore
] Release of FirewallDomainRedirectionAction parameter on the Route 53 DNS Firewall Rule. This allows customers to configure a DNS Firewall rule to inspect all the domains in the DNS redirection chain (default) , such as CNAME, ALIAS, DNAME, etc., or just the first domain and trust the rest. - api-change:
sagemaker
: [botocore
] Amazon SageMaker Training now supports the use of attribute-based access control (ABAC) roles for training job execution roles. Amazon SageMaker Inference now supports G6 instance types. - api-change:
signer
: [botocore
] Documentation updates for AWS Signer. Adds cross-account signing constraint and definitions for cross-account actions.
v1.34.94
=======
- api-change:
amplify
: [botocore
] Updating max results limit for listing any resources (Job, Artifacts, Branch, BackendResources, DomainAssociation) to 50 with the exception of list apps that where max results can be up to 100. - api-change:
connectcases
: [botocore
] This feature releases DeleteField, DeletedLayout, and DeleteTemplate API's - api-change:
inspector2
: [botocore
] Update Inspector2 to include new Agentless API parameters. - api-change:
timestream-query
: [botocore
] This change allows users to update and describe account settings associated with their accounts. - api-change:
transcribe
: [botocore
] This update provides error messaging for generative call summarization in Transcribe Call Analytics - api-change:
trustedadvisor
: [botocore
] This release adds the BatchUpdateRecommendationResourceExclusion API to support batch updates of Recommendation Resource exclusion statuses and introduces a new exclusion status filter to the ListRecommendationResources and ListOrganizationRecommendationResources APIs.
v1.34.93
=======
- api-change:
codepipeline
: [botocore
] Add ability to manually and automatically roll back a pipeline stage to a previously successful execution. - api-change:
cognito-idp
: [botocore
] Add LimitExceededException to SignUp errors - api-change:
connectcampaigns
: [botocore
] This release adds support for specifying if Answering Machine should wait for prompt sound. - api-change:
marketplace-entitlement
: [botocore
] Releasing minor endpoint updates. - api-change:
oam
: [botocore
] This release introduces support for Source Accounts to define which Metrics and Logs to share with the Monitoring Account - api-change:
rds
: [botocore
] SupportsLimitlessDatabase field added to describe-db-engine-versions to indicate whether the DB engine version supports Aurora Limitless Database. - api-change:
support
: [botocore
] Releasing minor endpoint updates.
v1.34.92
=======
- api-change:
appsync
: [botocore
] UpdateGraphQLAPI documentation update and datasource introspection secret arn update - api-change:
fms
: [botocore
] AWS Firewall Manager adds support for network ACL policies to manage Amazon Virtual Private Cloud (VPC) network access control lists (ACLs) for accounts in your organization. - api-change:
ivs
: [botocore
] Bug Fix: IVS does not support arns with thesvs
prefix - api-change:
ivs-realtime
: [botocore
] Bug Fix: IVS Real Time does not support ARNs using thesvs
prefix. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for setting local time zones for RDS for Db2 DB instances. - api-change:
stepfunctions
: [botocore
] Add new ValidateStateMachineDefinition operation, which performs syntax checking on the definition of a Amazon States Language (ASL) state machine.
v1.34.91
=======
- api-change:
datasync
: [botocore
] This change allows users to disable and enable the schedules associated with their tasks. - api-change:
ec2
: [botocore
] Launching capability for customers to enable or disable automatic assignment of public IPv4 addresses to their network interface - api-change:
emr-containers
: [botocore
] EMRonEKS Service support for SecurityConfiguration enforcement for Spark Jobs. - api-change:
entityresolution
: [botocore
] Support Batch Unique IDs Deletion. - api-change:
gamelift
: [botocore
] Amazon GameLift releases container fleets support for public preview. Deploy Linux-based containerized game server software for hosting on Amazon GameLift. - api-change:
ssm
: [botocore
] Add SSM DescribeInstanceProperties API to public AWS SDK.
v1.34.90
=======
- api-change:
bedrock
: [botocore
] This release introduces Model Evaluation and Guardrails for Amazon Bedrock. - api-change:
bedrock-agent
: [botocore
] Introducing the ability to create multiple data sources per knowledge base, specify S3 buckets as data sources from external accounts, and exposing levers to define the deletion behavior of the underlying vector store data. - api-change:
bedrock-agent-runtime
: [botocore
] This release introduces zero-setup file upload support for the RetrieveAndGenerate API. This allows you to chat with your data without setting up a Knowledge Base. - api-change:
bedrock-runtime
: [botocore
] This release introduces Guardrails for Amazon Bedrock. - api-change:
ce
: [botocore
] Added additional metadata that might be applicable to your reservation recommendations. - api-change:
ec2
: [botocore
] This release introduces EC2 AMI Deregistration Protection, a new AMI property that can be enabled by customers to protect an AMI against an unintended deregistration. This release also enables the AMI owners to view the AMI 'LastLaunchedTime' in DescribeImages API. - api-change:
pi
: [botocore
] Clarifies how aggregation works for GetResourceMetrics in the Performance Insights API. - api-change:
rds
: [botocore
] Fix the example ARN for ModifyActivityStreamRequest - api-change:
sqs
: [botocore
] This release enables customers to call SQS using AWS JSON-1.0 protocol - api-change:
workspaces-web
: [botocore
] Added InstanceType and MaxConcurrentSessions parameters on CreatePortal and UpdatePortal Operations as well as the ability to read Customer Managed Key & Additional Encryption Context parameters on supported resources (Portal, BrowserSettings, UserSettings, IPAccessSettings)
v1.34.89
=======
- api-change:
bedrock-agent
: [botocore
] Releasing the support for simplified configuration and return of control - api-change:
bedrock-agent-runtime
: [botocore
] Releasing the support for simplified configuration and return of control - api-change:
payment-cryptography
: [botocore
] Adding support to TR-31/TR-34 exports for optional headers, allowing customers to add additional metadata (such as key version and KSN) when exporting keys from the service. - api-change:
redshift-serverless
: [botocore
] Updates description of schedule field for scheduled actions. - api-change:
route53profiles
: [botocore
] Route 53 Profiles allows you to apply a central DNS configuration across many VPCs regardless of account. - api-change:
sagemaker
: [botocore
] This release adds support for Real-Time Collaboration and Shared Space for JupyterLab App on SageMaker Studio. - api-change:
servicediscovery
: [botocore
] This release adds examples to several Cloud Map actions. - api-change:
transfer
: [botocore
] Adding new API to support remote directory listing using SFTP connector
v1.34.88
=======
- api-change:
glue
: [botocore
] Adding RowFilter in the response for GetUnfilteredTableMetadata API - api-change:
internetmonitor
: [botocore
] This update introduces the GetInternetEvent and ListInternetEvents APIs, which provide access to internet events displayed on the Amazon CloudWatch Internet Weather Map. - api-change:
personalize
: [botocore
] This releases auto training capability while creating a solution and automatically syncing latest solution versions when creating/updating a campaign
v1.34.87
=======
- api-change:
drs
: [botocore
] Outpost ARN added to Source Server and Recovery Instance - api-change:
emr-serverless
: [botocore
] This release adds the capability to publish detailed Spark engine metrics to Amazon Managed Service for Prometheus (AMP) for enhanced monitoring for Spark jobs. - api-change:
guardduty
: [botocore
] Added IPv6Address fields for local and remote IP addresses - api-change:
quicksight
: [botocore
] This release adds support for the Cross Sheet Filter and Control features, and support for warnings in asset imports for any permitted errors encountered during execution - api-change:
rolesanywhere
: [botocore
] This release introduces the PutAttributeMapping and DeleteAttributeMapping APIs. IAM Roles Anywhere now provides the capability to define a set of mapping rules, allowing customers to specify which data is extracted from their X.509 end-entity certificates. - api-change:
sagemaker
: [botocore
] Removed deprecated enum values and updated API documentation. - api-change:
workspaces
: [botocore
] Adds new APIs for managing and sharing WorkSpaces BYOL configuration across accounts.
v1.34.86
=======
- api-change:
ec2
: [botocore
] Documentation updates for Elastic Compute Cloud (EC2). - api-change:
qbusiness
: [botocore
] This release adds support for IAM Identity Center (IDC) as the identity gateway for Q Business. It also allows users to provide an explicit intent for Q Business to identify how the Chat request should be handled.
v1.34.85
=======
- api-change:
bedrock-agent
: [botocore
] For Create Agent API, the agentResourceRoleArn parameter is no longer required. - api-change:
emr-serverless
: [botocore
] This release adds support for shuffle optimized disks that allow larger disk sizes and higher IOPS to efficiently run shuffle heavy workloads. - api-change:
entityresolution
: [botocore
] Cross Account Resource Support . - api-change:
iotwireless
: [botocore
] Add PublicGateways in the GetWirelessStatistics call response, indicating the LoRaWAN public network accessed by the device. - api-change:
lakeformation
: [botocore
] This release adds Lake Formation managed RAM support for the 4 APIs - "DescribeLakeFormationIdentityCenterConfiguration", "CreateLakeFormationIdentityCenterConfiguration", "DescribeLakeFormationIdentityCenterConfiguration", and "DeleteLakeFormationIdentityCenterConfiguration" - api-change:
m2
: [botocore
] Adding new ListBatchJobRestartPoints API and support for restart batch job. - api-change:
mediapackagev2
: [botocore
] Dash v2 is a MediaPackage V2 feature to support egressing on DASH manifest format. - api-change:
outposts
: [botocore
] This release adds new APIs to allow customers to configure their Outpost capacity at order-time. - api-change:
wellarchitected
: [botocore
] AWS Well-Architected now has a Connector for Jira to allow customers to efficiently track workload risks and improvement efforts and create closed-loop mechanisms. - enhancement:AWSCRT: [
botocore
] Update awscrt version to 0.20.9
v1.34.84
=======
- api-change:
cloudformation
: [botocore
] Adding support for the new parameter "IncludePropertyValues" in the CloudFormation DescribeChangeSet API. When this parameter is included, the DescribeChangeSet response will include more detailed information such as before and after values for the resource properties that will change. - api-change:
config
: [botocore
] Updates documentation for AWS Config - api-change:
glue
: [botocore
] Modifying request for GetUnfilteredTableMetadata for view-related fields. - api-change:
healthlake
: [botocore
] Added new CREATE_FAILED status for data stores. Added new errorCause to DescribeFHIRDatastore API and ListFHIRDatastores API response for additional insights into data store creation and deletion workflows. - api-change:
iotfleethub
: [botocore
] Documentation updates for AWS IoT Fleet Hub to clarify that Fleet Hub supports organization instance of IAM Identity Center. - api-change:
kms
: [botocore
] This feature supports the ability to specify a custom rotation period for automatic key rotations, the ability to perform on-demand key rotations, and visibility into your key material rotations. - api-change:
mediatailor
: [botocore
] Added InsertionMode to PlaybackConfigurations. This setting controls whether players can use stitched or guided ad insertion. The default for players that do not specify an insertion mode is stitched. - api-change:
neptune-graph
: [botocore
] Update to API documentation to resolve customer reported issues. - api-change:
outposts
: [botocore
] This release adds EXPEDITORS as a valid shipment carrier. - api-change:
redshift
: [botocore
] Adds support for Amazon Redshift DescribeClusterSnapshots API to include Snapshot ARN response field. - api-change:
transfer
: [botocore
] This change releases support for importing self signed certificates to the Transfer Family for sending outbound file transfers over TLS/HTTPS.
v1.34.83
=======
- api-change:
batch
: [botocore
] This release adds the task properties field to attempt details and the name field on EKS container detail. - api-change:
cloudfront
: [botocore
] CloudFront origin access control extends support to AWS Lambda function URLs and AWS Elemental MediaPackage v2 origins. - api-change:
cloudwatch
: [botocore
] This release adds support for Metric Characteristics for CloudWatch Anomaly Detection. Anomaly Detector now takes Metric Characteristics object with Periodic Spikes boolean field that tells Anomaly Detection that spikes that repeat at the same time every week are part of the expected pattern. - api-change:
codebuild
: [botocore
] Support access tokens for Bitbucket sources - api-change:
iam
: [botocore
] For CreateOpenIDConnectProvider API, the ThumbprintList parameter is no longer required. - api-change:
medialive
: [botocore
] AWS Elemental MediaLive introduces workflow monitor, a new feature that enables the visualization and monitoring of your media workflows. Create signal maps of your existing workflows and monitor them by creating notification and monitoring template groups. - api-change:
omics
: [botocore
] This release adds support for retrieval of S3 direct access metadata on sequence stores and read sets, and adds support for SHA256up and SHA512up HealthOmics ETags. - api-change:
pipes
: [botocore
] LogConfiguration ARN validation fixes - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for Standard Edition 2 support in RDS Custom for Oracle. - api-change:
s3control
: [botocore
] Documentation updates for Amazon S3-control.
v1.34.82
=======
- api-change:
cleanrooms
: [botocore
] AWS Clean Rooms Differential Privacy is now fully available. Differential privacy protects against user-identification attempts. - api-change:
connect
: [botocore
] This release adds new Submit Auto Evaluation Action for Amazon Connect Rules. - api-change:
networkmonitor
: [botocore
] Examples were added to CloudWatch Network Monitor commands. - api-change:
qconnect
: [botocore
] This release adds a new QiC public API updateSession and updates an existing QiC public API createSession - api-change:
rekognition
: [botocore
] Added support for ContentType to content moderation detections. - api-change:
supplychain
: [botocore
] This release includes API SendDataIntegrationEvent for AWS Supply Chain - api-change:
workspaces-thin-client
: [botocore
] Adding tags field to SoftwareSet. Removing tags fields from Summary objects. Changing the list of exceptions in tagging APIs. Fixing an issue where the SDK returns empty tags in Get APIs.
v1.34.81
=======
- api-change:
codebuild
: [botocore
] Add new webhook filter types for GitHub webhooks - api-change:
mediaconvert
: [botocore
] This release includes support for bringing your own fonts to use for burn-in or DVB-Sub captioning workflows. - api-change:
pinpoint
: [botocore
] The OrchestrationSendingRoleArn has been added to the email channel and is used to send emails from campaigns or journeys. - api-change:
rds
: [botocore
] This release adds support for specifying the CA certificate to use for the new db instance when restoring from db snapshot, restoring from s3, restoring to point in time, and creating a db instance read replica.
v1.34.80
=======
- api-change:
controlcatalog
: [botocore
] This is the initial SDK release for AWS Control Catalog, a central catalog for AWS managed controls. This release includes 3 new APIs - ListDomains, ListObjectives, and ListCommonControls - that vend high-level data to categorize controls across the AWS platform. - api-change:
mgn
: [botocore
] Added USE_SOURCE as default option to LaunchConfigurationTemplate bootMode parameter. - api-change:
networkmonitor
: [botocore
] Updated the allowed monitorName length for CloudWatch Network Monitor.
v1.34.79
=======
- api-change:
quicksight
: [botocore
] Adding IAMIdentityCenterInstanceArn parameter to CreateAccountSubscription - api-change:
resource-groups
: [botocore
] Added a new QueryErrorCode RESOURCE_TYPE_NOT_SUPPORTED that is returned by the ListGroupResources operation if the group query contains unsupported resource types. - api-change:
verifiedpermissions
: [botocore
] Adding BatchIsAuthorizedWithToken API which supports multiple authorization requests against a PolicyStore given a bearer token.
v1.34.78
=======
- api-change:
b2bi
: [botocore
] Adding support for X12 5010 HIPAA EDI version and associated transaction sets. - api-change:
cleanrooms
: [botocore
] Feature: New schemaStatusDetails field to the existing Schema object that displays a status on Schema API responses to show whether a schema is queryable or not. New BatchGetSchemaAnalysisRule API to retrieve multiple schemaAnalysisRules using a single API call. - api-change:
ec2
: [botocore
] Amazon EC2 G6 instances powered by NVIDIA L4 Tensor Core GPUs can be used for a wide range of graphics-intensive and machine learning use cases. Gr6 instances also feature NVIDIA L4 GPUs and can be used for graphics workloads with higher memory requirements. - api-change:
emr-containers
: [botocore
] This release adds support for integration with EKS AccessEntry APIs to enable automatic Cluster Access for EMR on EKS. - api-change:
ivs
: [botocore
] API update to include an SRT ingest endpoint and passphrase for all channels. - api-change:
verifiedpermissions
: [botocore
] Adds GroupConfiguration field to Identity Source API's
v1.34.77
=======
- api-change:
cleanroomsml
: [botocore
] The release includes a public SDK for AWS Clean Rooms ML APIs, making them globally available to developers worldwide. - api-change:
cloudformation
: [botocore
] This release would return a new field - PolicyAction in cloudformation's existed DescribeChangeSetResponse, showing actions we are going to apply on the physical resource (e.g., Delete, Retain) according to the user's template - api-change:
datazone
: [botocore
] This release supports the feature of dataQuality to enrich asset with dataQualityResult in Amazon DataZone. - api-change:
docdb
: [botocore
] This release adds Global Cluster Switchover capability which enables you to change your global cluster's primary AWS Region, the region that serves writes, while preserving the replication between all regions in the global cluster. - api-change:
groundstation
: [botocore
] This release adds visibilityStartTime and visibilityEndTime to DescribeContact and ListContacts responses. - api-change:
lambda
: [botocore
] Add Ruby 3.3 (ruby3.3) support to AWS Lambda - api-change:
medialive
: [botocore
] Cmaf Ingest outputs are now supported in Media Live - api-change:
medical-imaging
: [botocore
] SearchImageSets API now supports following enhancements - Additional support for searching on UpdatedAt and SeriesInstanceUID - Support for searching existing filters between dates/times - Support for sorting the search result by Ascending/Descending - Additional parameters returned in the response - api-change:
transfer
: [botocore
] Add ability to specify Security Policies for SFTP Connectors
v1.34.76
=======
- api-change:
ecs
: [botocore
] Documentation only update for Amazon ECS. - api-change:
glue
: [botocore
] Adding View related fields to responses of read-only Table APIs. - api-change:
ivschat
: [botocore
] Doc-only update. Changed "Resources" to "Key Concepts" in docs and updated text. - api-change:
rolesanywhere
: [botocore
] This release increases the limit on the roleArns request parameter for the *Profile APIs that support it. This parameter can now take up to 250 role ARNs. - api-change:
securityhub
: [botocore
] Documentation updates for AWS Security Hub
v1.34.75
=======
- api-change:
cloudwatch
: [botocore
] This release adds support for CloudWatch Anomaly Detection on cross-account metrics. SingleMetricAnomalyDetector and MetricDataQuery inputs to Anomaly Detection APIs now take an optional AccountId field. - api-change:
datazone
: [botocore
] This release supports the feature of AI recommendations for descriptions to enrich the business data catalog in Amazon DataZone. - api-change:
deadline
: [botocore
] AWS Deadline Cloud is a new fully managed service that helps customers set up, deploy, and scale rendering projects in minutes, so they can improve the efficiency of their rendering pipelines and take on more projects. - api-change:
emr
: [botocore
] This release fixes a broken link in the documentation. - api-change:
lightsail
: [botocore
] This release adds support to upgrade the TLS version of the distribution.
v1.34.74
=======
- api-change:
b2bi
: [botocore
] Supporting new EDI X12 transaction sets for X12 versions 4010, 4030, and 5010. - api-change:
codebuild
: [botocore
] Add new fleet status code for Reserved Capacity. - api-change:
codeconnections
: [botocore
] Duplicating the CodeStar Connections service into the new, rebranded AWS CodeConnections service. - api-change:
internetmonitor
: [botocore
] This release adds support to allow customers to track cross account monitors through ListMonitor, GetMonitor, ListHealthEvents, GetHealthEvent, StartQuery APIs. - api-change:
iotwireless
: [botocore
] Add support for retrieving key historical and live metrics for LoRaWAN devices and gateways - api-change:
marketplace-catalog
: [botocore
] This release enhances the ListEntities API to support ResaleAuthorizationId filter and sort for OfferEntity in the request and the addition of a ResaleAuthorizationId field in the response of OfferSummary. - api-change:
neptune-graph
: [botocore
] Add the new API Start-Import-Task for Amazon Neptune Analytics. - api-change:
sagemaker
: [botocore
] This release adds support for custom images for the CodeEditor App on SageMaker Studio
v1.34.73
=======
- api-change:
codecatalyst
: [botocore
] This release adds support for understanding pending changes to subscriptions by including two new response parameters for the GetSubscription API for Amazon CodeCatalyst. - api-change:
compute-optimizer
: [botocore
] This release enables AWS Compute Optimizer to analyze and generate recommendations with a new customization preference, Memory Utilization. - api-change:
ec2
: [botocore
] Amazon EC2 C7gd, M7gd and R7gd metal instances with up to 3.8 TB of local NVMe-based SSD block-level storage have up to 45% improved real-time NVMe storage performance than comparable Graviton2-based instances. - api-change:
eks
: [botocore
] Add multiple customer error code to handle customer caused failure when managing EKS node groups - api-change:
guardduty
: [botocore
] Add EC2 support for GuardDuty Runtime Monitoring auto management. - api-change:
neptune-graph
: [botocore
] Update ImportTaskCancelled waiter to evaluate task state correctly and minor documentation changes. - api-change:
oam
: [botocore
] This release adds support for sharing AWS::InternetMonitor::Monitor resources. - api-change:
quicksight
: [botocore
] Amazon QuickSight: Adds support for setting up VPC Endpoint restrictions for accessing QuickSight Website.
v1.34.72
=======
- api-change:
batch
: [botocore
] This feature allows AWS Batch to support configuration of imagePullSecrets and allowPrivilegeEscalation for jobs running on EKS - api-change:
bedrock-agent
: [botocore
] This changes introduces metadata documents statistics and also updates the documentation for bedrock agent. - api-change:
bedrock-agent-runtime
: [botocore
] This release introduces filtering support on Retrieve and RetrieveAndGenerate APIs. - api-change:
elasticache
: [botocore
] Added minimum capacity to Amazon ElastiCache Serverless. This feature allows customer to ensure minimum capacity even without current load - api-change:
secretsmanager
: [botocore
] Documentation updates for Secrets Manager
v1.34.71
=======
- api-change:
bedrock-agent-runtime
: [botocore
] This release adds support to customize prompts sent through the RetrieveAndGenerate API in Agents for Amazon Bedrock. - api-change:
ce
: [botocore
] Adds support for backfill of cost allocation tags, with new StartCostAllocationTagBackfill and ListCostAllocationTagBackfillHistory API. - api-change:
ec2
: [botocore
] Documentation updates for Elastic Compute Cloud (EC2). - api-change:
ecs
: [botocore
] This is a documentation update for Amazon ECS. - api-change:
finspace
: [botocore
] Add new operation delete-kx-cluster-node and add status parameter to list-kx-cluster-node operation.
v1.34.70
=======
- api-change:
codebuild
: [botocore
] Supporting GitLab and GitLab Self Managed as source types in AWS CodeBuild. - api-change:
ec2
: [botocore
] Added support for ModifyInstanceMetadataDefaults and GetInstanceMetadataDefaults to set Instance Metadata Service account defaults - api-change:
ecs
: [botocore
] Documentation only update for Amazon ECS. - api-change:
emr-containers
: [botocore
] This release increases the number of supported job template parameters from 20 to 100. - api-change:
globalaccelerator
: [botocore
] AWS Global Accelerator now supports cross-account sharing for bring your own IP addresses. - api-change:
medialive
: [botocore
] Exposing TileMedia H265 options - api-change:
sagemaker
: [botocore
] Introduced support for the following new instance types on SageMaker Studio for JupyterLab and CodeEditor applications: m6i, m6id, m7i, c6i, c6id, c7i, r6i, r6id, r7i, and p5
v1.34.69
=======
- api-change:
firehose
: [botocore
] Updates Amazon Firehose documentation for message regarding Enforcing Tags IAM Policy. - api-change:
kendra
: [botocore
] Documentation update, March 2024. Corrects some docs for Amazon Kendra. - api-change:
pricing
: [botocore
] Add ResourceNotFoundException to ListPriceLists and GetPriceListFileUrl APIs - api-change:
rolesanywhere
: [botocore
] This release relaxes constraints on the durationSeconds request parameter for the *Profile APIs that support it. This parameter can now take on values that go up to 43200. - api-change:
securityhub
: [botocore
] Added new resource detail object to ASFF, including resource for LastKnownExploitAt
v1.34.68
=======
- api-change:
codeartifact
: [botocore
] This release adds Package groups to CodeArtifact so you can more conveniently configure package origin controls for multiple packages.
v1.34.67
=======
- api-change:
accessanalyzer
: [botocore
] This release adds support for policy validation and external access findings for DynamoDB tables and streams. IAM Access Analyzer helps you author functional and secure resource-based policies and identify cross-account access. Updated service API, documentation, and paginators. - api-change:
codebuild
: [botocore
] This release adds support for new webhook events (RELEASED and PRERELEASED) and filter types (TAG_NAME and RELEASE_NAME). - api-change:
connect
: [botocore
] This release updates the *InstanceStorageConfig APIs to support a new ResourceType: REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS. Use this resource type to enable streaming for real-time analysis of chat contacts and to associate a Kinesis stream where real-time analysis chat segments will be published. - api-change:
dynamodb
: [botocore
] This release introduces 3 new APIs ('GetResourcePolicy', 'PutResourcePolicy' and 'DeleteResourcePolicy') and modifies the existing 'CreateTable' API for the resource-based policy support. It also modifies several APIs to accept a 'TableArn' for the 'TableName' parameter. - api-change:
managedblockchain-query
: [botocore
] AMB Query: update GetTransaction to include transactionId as input - api-change:
savingsplans
: [botocore
] Introducing the Savings Plans Return feature enabling customers to return their Savings Plans within 7 days of purchase.
v1.34.66
=======
- api-change:
cloudformation
: [botocore
] Documentation update, March 2024. Corrects some formatting. - api-change:
ec2
: [botocore
] This release adds the new DescribeMacHosts API operation for getting information about EC2 Mac Dedicated Hosts. Users can now see the latest macOS versions that their underlying Apple Mac can support without needing to be updated. - api-change:
finspace
: [botocore
] Adding new attributes readWrite and onDemand to dataview models for Database Maintenance operations. - api-change:
logs
: [botocore
] Update LogSamples field in Anomaly model to be a list of LogEvent - api-change:
managedblockchain-query
: [botocore
] Introduces a new API for Amazon Managed Blockchain Query: ListFilteredTransactionEvents.
v1.34.65
=======
- api-change:
cloudformation
: [botocore
] This release supports for a new API ListStackSetAutoDeploymentTargets, which provider auto-deployment configuration as a describable resource. Customers can now view the specific combinations of regions and OUs that are being auto-deployed. - api-change:
kms
: [botocore
] Adds the ability to use the default policy name by omitting the policyName parameter in calls to PutKeyPolicy and GetKeyPolicy - api-change:
mediatailor
: [botocore
] This release adds support to allow customers to show different content within a channel depending on metadata associated with the viewer. - api-change:
rds
: [botocore
] This release launches the ModifyIntegration API and support for data filtering for zero-ETL Integrations. - api-change:
s3
: [botocore
] Fix two issues with response root node names. - api-change:
timestream-query
: [botocore
] Documentation updates, March 2024
v1.34.64
=======
- api-change:
backup
: [botocore
] This release introduces a boolean attribute ManagedByAWSBackupOnly as part of ListRecoveryPointsByResource api to filter the recovery points based on ownership. This attribute can be used to filter out the recovery points protected by AWSBackup. - api-change:
codebuild
: [botocore
] AWS CodeBuild now supports overflow behavior on Reserved Capacity. - api-change:
connect
: [botocore
] This release adds Hierarchy based Access Control fields to Security Profile public APIs and adds support for UserAttributeFilter to SearchUsers API. - api-change:
ec2
: [botocore
] Add media accelerator and neuron device information on the describe instance types API. - api-change:
kinesisanalyticsv2
: [botocore
] Support for Flink 1.18 in Managed Service for Apache Flink - api-change:
s3
: [botocore
] Documentation updates for Amazon S3. - api-change:
sagemaker
: [botocore
] Adds m6i, m6id, m7i, c6i, c6id, c7i, r6i r6id, r7i, p5 instance type support to Sagemaker Notebook Instances and miscellaneous wording fixes for previous Sagemaker documentation. - api-change:
workspaces-thin-client
: [botocore
] Removed unused parameter kmsKeyArn from UpdateDeviceRequest
v1.34.63
=======
- api-change:
amplify
: [botocore
] Documentation updates for Amplify. Identifies the APIs available only to apps created using Amplify Gen 1. - api-change:
ec2-instance-connect
: [botocore
] This release includes a new exception type "SerialConsoleSessionUnsupportedException" for SendSerialConsoleSSHPublicKey API. - api-change:
elbv2
: [botocore
] This release allows you to configure HTTP client keep-alive duration for communication between clients and Application Load Balancers. - api-change:
fis
: [botocore
] This release adds support for previewing target resources before running a FIS experiment. It also adds resource ARNs for actions, experiments, and experiment templates to API responses. - api-change:
iot-roborunner
: [botocore
] The iot-roborunner client has been removed following the deprecation of the service. - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for EBCDIC collation for RDS for Db2. - api-change:
secretsmanager
: [botocore
] Doc only update for Secrets Manager - api-change:
timestream-influxdb
: [botocore
] This is the initial SDK release for Amazon Timestream for InfluxDB. Amazon Timestream for InfluxDB is a new time-series database engine that makes it easy for application developers and DevOps teams to run InfluxDB databases on AWS for near real-time time-series applications using open source APIs. - enhancement:
urllib3
: [botocore
] Added support for urllib3 2.2.1+ in Python 3.10+
v1.34.62
=======
- api-change:
ivs-realtime
: [botocore
] adds support for multiple new composition layout configuration options (grid, pip) - api-change:
kinesisanalyticsv2
: [botocore
] Support new RuntimeEnvironmentUpdate parameter within UpdateApplication API allowing callers to change the Flink version upon which their application runs. - api-change:
s3
: [botocore
] This release makes the default option for S3 on Outposts request signing to use the SigV4A algorithm when using AWS Common Runtime (CRT).
v1.34.61
=======
- api-change:
cloudformation
: [botocore
] CloudFormation documentation update for March, 2024 - api-change:
connect
: [botocore
] This release increases MaxResults limit to 500 in request for SearchUsers, SearchQueues and SearchRoutingProfiles APIs of Amazon Connect. - api-change:
ec2
: [botocore
] Documentation updates for Amazon EC2. - api-change:
kafka
: [botocore
] Added support for specifying the starting position of topic replication in MSK-Replicator. - api-change:
ssm
: [botocore
] March 2024 doc-only updates for Systems Manager.
v1.34.60
=======
- api-change:
codestar-connections
: [botocore
] Added a sync configuration enum to disable publishing of deployment status to source providers (PublishDeploymentStatus). Added a sync configuration enum (TriggerStackUpdateOn) to only trigger changes. - api-change:
elasticache
: [botocore
] Revisions to API text that are now to be carried over to SDK text, changing usages of "SFO" in code examples to "us-west-1", and some other typos. - api-change:
mediapackagev2
: [botocore
] This release enables customers to safely update their MediaPackage v2 channel groups, channels and origin endpoints using entity tags.
v1.34.59
=======
- api-change:
batch
: [botocore
] This release adds JobStateTimeLimitActions setting to the Job Queue API. It allows you to configure an action Batch can take for a blocking job in front of the queue after the defined period of time. The new parameter applies for ECS, EKS, and FARGATE Job Queues. - api-change:
bedrock-agent-runtime
: [botocore
] Documentation update for Bedrock Runtime Agent - api-change:
cloudtrail
: [botocore
] Added exceptions to CreateTrail, DescribeTrails, and ListImportFailures APIs. - api-change:
codebuild
: [botocore
] This release adds support for a new webhook event: PULL_REQUEST_CLOSED. - api-change:
cognito-idp
: [botocore
] Add ConcurrentModificationException to SetUserPoolMfaConfig - api-change:
guardduty
: [botocore
] Add RDS Provisioned and Serverless Usage types - api-change:
transfer
: [botocore
] Added DES_EDE3_CBC to the list of supported encryption algorithms for messages sent with an AS2 connector.
v1.34.58
=======
- api-change:
appconfig
: [botocore
] AWS AppConfig now supports dynamic parameters, which enhance the functionality of AppConfig Extensions by allowing you to provide parameter values to your Extensions at the time you deploy your configuration. - api-change:
ec2
: [botocore
] This release adds an optional parameter to RegisterImage and CopyImage APIs to support tagging AMIs at the time of creation. - api-change:
grafana
: [botocore
] Adds support for the new GrafanaToken as part of the Amazon Managed Grafana Enterprise plugins upgrade to associate your AWS account with a Grafana Labs account. - api-change:
lambda
: [botocore
] Documentation updates for AWS Lambda - api-change:
payment-cryptography-data
: [botocore
] AWS Payment Cryptography EMV Decrypt Feature Release - api-change:
rds
: [botocore
] Updates Amazon RDS documentation for io2 storage for Multi-AZ DB clusters - api-change:
snowball
: [botocore
] Doc-only update for change to EKS-Anywhere ordering. - api-change:
wafv2
: [botocore
] You can increase the max request body inspection size for some regional resources. The size setting is in the web ACL association config. Also, the AWSManagedRulesBotControlRuleSet EnableMachineLearning setting now takes a Boolean instead of a primitive boolean type, for languages like Java. - api-change:
workspaces
: [botocore
] Added note for user decoupling
v1.34.57
=======
- api-change:
dynamodb
: [botocore
] Doc only updates for DynamoDB documentation - api-change:
imagebuilder
: [botocore
] Add PENDING status to Lifecycle Execution resource status. Add StartTime and EndTime to ListLifecycleExecutionResource API response. - api-change:
mwaa
: [botocore
] Amazon MWAA adds support for Apache Airflow v2.8.1. - api-change:
rds
: [botocore
] Updated the input of CreateDBCluster and ModifyDBCluster to support setting CA certificates. Updated the output of DescribeDBCluster to show current CA certificate setting value. - api-change:
redshift
: [botocore
] Update for documentation only. Covers port ranges, definition updates for data sharing, and definition updates to cluster-snapshot documentation. - api-change:
verifiedpermissions
: [botocore
] Deprecating details in favor of configuration for GetIdentitySource and ListIdentitySources APIs.
v1.34.56
=======
- api-change:
apigateway
: [botocore
] Documentation updates for Amazon API Gateway - api-change:
chatbot
: [botocore
] Minor update to documentation. - api-change:
organizations
: [botocore
] This release contains an endpoint addition - api-change:
sesv2
: [botocore
] Adds support for providing custom headers within SendEmail and SendBulkEmail for SESv2.
v1.34.55
=======
- api-change:
cloudformation
: [botocore
] Add DetailedStatus field to DescribeStackEvents and DescribeStacks APIs - api-change:
fsx
: [botocore
] Added support for creating FSx for NetApp ONTAP file systems with up to 12 HA pairs, delivering up to 72 GB/s of read throughput and 12 GB/s of write throughput. - api-change:
organizations
: [botocore
] Documentation update for AWS Organizations
v1.34.54
=======
- api-change:
accessanalyzer
: [botocore
] Fixed a typo in description field. - api-change:
autoscaling
: [botocore
] With this release, Amazon EC2 Auto Scaling groups, EC2 Fleet, and Spot Fleet improve the default price protection behavior of attribute-based instance type selection of Spot Instances, to consistently select from a wide range of instance types. - api-change:
ec2
: [botocore
] With this release, Amazon EC2 Auto Scaling groups, EC2 Fleet, and Spot Fleet improve the default price protection behavior of attribute-based instance type selection of Spot Instances, to consistently select from a wide range of instance types.
v1.34.53
=======
- api-change:
docdb-elastic
: [botocore
] Launched Elastic Clusters Readable Secondaries, Start/Stop, Configurable Shard Instance count, Automatic Backups and Snapshot Copying - api-change:
eks
: [botocore
] Added support for new AL2023 AMIs to the supported AMITypes. - api-change:
lexv2-models
: [botocore
] This release makes AMAZON.QnAIntent generally available in Amazon Lex. This generative AI feature leverages large language models available through Amazon Bedrock to automate frequently asked questions (FAQ) experience for end-users. - api-change:
migrationhuborchestrator
: [botocore
] Adds new CreateTemplate, UpdateTemplate and DeleteTemplate APIs. - api-change:
quicksight
: [botocore
] TooltipTarget for Combo chart visuals; ColumnConfiguration limit increase to 2000; Documentation Update - api-change:
sagemaker
: [botocore
] Adds support for ModelDataSource in Model Packages to support unzipped models. Adds support to specify SourceUri for models which allows registration of models without mandating a container for hosting. Using SourceUri, customers can decouple the model from hosting information during registration. - api-change:
securitylake
: [botocore
] Add capability to update the Data Lake's MetaStoreManager Role in order to perform required data lake updates to use Iceberg table format in their data lake or update the role for any other reason.
v1.34.52
=======
- api-change:
batch
: [botocore
] This release adds Batch support for configuration of multicontainer jobs in ECS, Fargate, and EKS. This support is available for all types of jobs, including both array jobs and multi-node parallel jobs. - api-change:
bedrock-agent-runtime
: [botocore
] This release adds support to override search strategy performed by the Retrieve and RetrieveAndGenerate APIs for Amazon Bedrock Agents - api-change:
ce
: [botocore
] This release introduces the new API 'GetApproximateUsageRecords', which retrieves estimated usage records for hourly granularity or resource-level data at daily granularity. - api-change:
ec2
: [botocore
] This release increases the range of MaxResults for GetNetworkInsightsAccessScopeAnalysisFindings to 1,000. - api-change:
iot
: [botocore
] This release reduces the maximum results returned per query invocation from 500 to 100 for the SearchIndex API. This change has no implications as long as the API is invoked until the nextToken is NULL. - api-change:
wafv2
: [botocore
] AWS WAF now supports configurable time windows for request aggregation with rate-based rules. Customers can now select time windows of 1 minute, 2 minutes or 10 minutes, in addition to the previously supported 5 minutes.
v1.34.51
=======
- api-change:
amplifyuibuilder
: [botocore
] We have added the ability to tag resources after they are created
v1.34.50
=======
- api-change:
apigateway
: [botocore
] Documentation updates for Amazon API Gateway. - api-change:
drs
: [botocore
] Added volume status to DescribeSourceServer replicated volumes. - api-change:
kafkaconnect
: [botocore
] Adds support for tagging, with new TagResource, UntagResource and ListTagsForResource APIs to manage tags and updates to existing APIs to allow tag on create. This release also adds support for the new DeleteWorkerConfiguration API. - api-change:
rds
: [botocore
] This release adds support for gp3 data volumes for Multi-AZ DB Clusters.
v1.34.49
=======
- api-change:
appsync
: [botocore
] Documentation only updates for AppSync - api-change:
qldb
: [botocore
] Clarify possible values for KmsKeyArn and EncryptionDescription. - api-change:
rds
: [botocore
] Add pattern and length based validations for DBShardGroupIdentifier - api-change:
rum
: [botocore
] Doc-only update for new RUM metrics that were added
v1.34.48
=======
- api-change:
internetmonitor
: [botocore
] This release adds IPv4 prefixes to health events - api-change:
kinesisvideo
: [botocore
] Increasing NextToken parameter length restriction for List APIs from 512 to 1024.
v1.34.47
=======
- api-change:
iotevents
: [botocore
] Increase the maximum length of descriptions for Inputs, Detector Models, and Alarm Models - api-change:
lookoutequipment
: [botocore
] This release adds a field exposing model quality to read APIs for models. It also adds a model quality field to the API response when creating an inference scheduler. - api-change:
medialive
: [botocore
] MediaLive now supports the ability to restart pipelines in a running channel. - api-change:
ssm
: [botocore
] This release adds support for sharing Systems Manager parameters with other AWS accounts.
v1.34.46
=======
- api-change:
dynamodb
: [botocore
] Publishing quick fix for doc only update. - api-change:
firehose
: [botocore
] This release updates a few Firehose related APIs. - api-change:
lambda
: [botocore
] Add .NET 8 (dotnet8) Runtime support to AWS Lambda.
v1.34.45
=======
- api-change:
amplify
: [botocore
] This release contains API changes that enable users to configure their Amplify domains with their own custom SSL/TLS certificate. - api-change:
chatbot
: [botocore
] This release adds support for AWS Chatbot. You can now monitor, operate, and troubleshoot your AWS resources with interactive ChatOps using the AWS SDK. - api-change:
config
: [botocore
] Documentation updates for the AWS Config CLI - api-change:
ivs
: [botocore
] Changed description for latencyMode in Create/UpdateChannel and Channel/ChannelSummary. - api-change:
keyspaces
: [botocore
] Documentation updates for Amazon Keyspaces - api-change:
mediatailor
: [botocore
] MediaTailor: marking #AdBreak.OffsetMillis as required.
v1.34.44
=======
- api-change:
connectparticipant
: [botocore
] Doc only update to GetTranscript API reference guide to inform users about presence of events in the chat transcript. - api-change:
emr
: [botocore
] adds fine grained control over Unhealthy Node Replacement to Amazon ElasticMapReduce - api-change:
firehose
: [botocore
] This release adds support for Data Message Extraction for decompressed CloudWatch logs, and to use a custom file extension or time zone for S3 destinations. - api-change:
lambda
: [botocore
] Documentation-only updates for Lambda to clarify a number of existing actions and properties. - api-change:
rds
: [botocore
] Doc only update for a valid option in DB parameter group - api-change:
sns
: [botocore
] This release marks phone numbers as sensitive inputs.
v1.34.43
=======
- api-change:
artifact
: [botocore
] This is the initial SDK release for AWS Artifact. AWS Artifact provides on-demand access to compliance and third-party compliance reports. This release includes access to List and Get reports, along with their metadata. This release also includes access to AWS Artifact notifications settings. - api-change:
codepipeline
: [botocore
] Add ability to override timeout on action level. - api-change:
detective
: [botocore
] Doc only updates for content enhancement - api-change:
guardduty
: [botocore
] Marked fields IpAddressV4, PrivateIpAddress, Email as Sensitive. - api-change:
healthlake
: [botocore
] This release adds a new response parameter, JobProgressReport, to the DescribeFHIRImportJob and ListFHIRImportJobs API operation. JobProgressReport provides details on the progress of the import job on the server. - api-change:
opensearch
: [botocore
] Adds additional supported instance types. - api-change:
polly
: [botocore
] Amazon Polly adds 1 new voice - Burcu (tr-TR) - api-change:
sagemaker
: [botocore
] This release adds a new API UpdateClusterSoftware for SageMaker HyperPod. This API allows users to patch HyperPod clusters with latest platform softwares. - api-change:
secretsmanager
: [botocore
] Doc only update for Secrets Manager - api-change:
endpoint-rules
: [botocore
] Update endpoint-rules client to latest version
v1.34.42
=======
- api-change:
controltower
: [botocore
] Adds support for new Baseline and EnabledBaseline APIs for automating multi-account governance. - api-change:
lookoutequipment
: [botocore
] This feature allows customers to see pointwise model diagnostics results for their models. - api-change:
qbusiness
: [botocore
] This release adds the metadata-boosting feature, which allows customers to easily fine-tune the underlying ranking of retrieved RAG passages in order to optimize Q&A answer relevance. It also adds new feedback reasons for the PutFeedback API.
v1.34.41
=======
- bugfix:ContainerProvider: [
botocore
] Properly refreshes token from file from EKS in ContainerProvider - api-change:
lightsail
: [botocore
] This release adds support to upgrade the major version of a database. - api-change:
marketplace-catalog
: [botocore
] AWS Marketplace Catalog API now supports setting intent on requests - api-change:
resource-explorer-2
: [botocore
] Resource Explorer now uses newly supported IPv4 'amazonaws.com' endpoints by default. - api-change:
securitylake
: [botocore
] Documentation updates for Security Lake - api-change:
endpoint-rules
: [botocore
] Update endpoint-rules client to latest version
v1.34.40
=======
- api-change:
appsync
: [botocore
] Adds support for new options on GraphqlAPIs, Resolvers and Data Sources for emitting Amazon CloudWatch metrics for enhanced monitoring of AppSync APIs. - api-change:
cloudwatch
: [botocore
] Update cloudwatch client to latest version - api-change:
neptune-graph
: [botocore
] Adding a new option "parameters" for data plane api ExecuteQuery to support running parameterized query via SDK. - api-change:
route53domains
: [botocore
] This release adds bill contact support for RegisterDomain, TransferDomain, UpdateDomainContact and GetDomainDetail API.
v1.34.39
=======
- api-change:
amp
: [botocore
] Overall documentation updates. - api-change:
batch
: [botocore
] This feature allows Batch to support configuration of repository credentials for jobs running on ECS - api-change:
braket
: [botocore
] Creating a job will result in DeviceOfflineException when using an offline device, and DeviceRetiredException when using a retired device. - api-change:
cost-optimization-hub
: [botocore
] Adding includeMemberAccounts field to the response of ListEnrollmentStatuses API. - api-change:
ecs
: [botocore
] Documentation only update for Amazon ECS. - api-change:
iot
: [botocore
] This release allows AWS IoT Core users to enable Online Certificate Status Protocol (OCSP) Stapling for TLS X.509 Server Certificates when creating and updating AWS IoT Domain Configurations with Custom Domain. - api-change:
pricing
: [botocore
] Add Throttling Exception to all APIs.
v1.34.38
=======
- api-change:
codepipeline
: [botocore
] Add ability to execute pipelines with new parallel & queued execution modes and add support for triggers with filtering on branches and file paths. - api-change:
quicksight
: [botocore
] General Interactions for Visuals; Waterfall Chart Color Configuration; Documentation Update - api-change:
workspaces
: [botocore
] This release introduces User-Decoupling feature. This feature allows Workspaces Core customers to provision workspaces without providing users. CreateWorkspaces and DescribeWorkspaces APIs will now take a new optional parameter "WorkspaceName".
v1.34.37
=======
- api-change:
datasync
: [botocore
] AWS DataSync now supports manifests for specifying files or objects to transfer. - api-change:
lexv2-models
: [botocore
] Update lexv2-models client to latest version - api-change:
redshift
: [botocore
] LisRecommendations API to fetch Amazon Redshift Advisor recommendations.
v1.34.36
=======
- api-change:
appsync
: [botocore
] Support for environment variables in AppSync GraphQL APIs - api-change:
ecs
: [botocore
] This release is a documentation only update to address customer issues. - api-change:
es
: [botocore
] This release adds clear visibility to the customers on the changes that they make on the domain. - api-change:
logs
: [botocore
] This release adds a new field, logGroupArn, to the response of the logs:DescribeLogGroups action. - api-change:
opensearch
: [botocore
] This release adds clear visibility to the customers on the changes that they make on the domain. - api-change:
wafv2
: [botocore
] You can now delete an API key that you've created for use with your CAPTCHA JavaScript integration API.
v1.34.35
=======
- api-change:
glue
: [botocore
] Introduce Catalog Encryption Role within Glue Data Catalog Settings. Introduce SASL/PLAIN as an authentication method for Glue Kafka connections - api-change:
workspaces
: [botocore
] Added definitions of various WorkSpace states
v1.34.34
=======
- api-change:
dynamodb
: [botocore
] Any number of users can execute up to 50 concurrent restores (any type of restore) in a given account. - api-change:
sagemaker
: [botocore
] Amazon SageMaker Canvas adds GenerativeAiSettings support for CanvasAppSettings. - api-change:
endpoint-rules
: [botocore
] Update endpoint-rules client to latest version
v1.34.33
=======
- api-change:
cognito-idp
: [botocore
] Added CreateIdentityProvider and UpdateIdentityProvider details for new SAML IdP features - api-change:
ivs
: [botocore
] This release introduces a new resource Playback Restriction Policy which can be used to geo-restrict or domain-restrict channel stream playback when associated with a channel. New APIs to support this resource were introduced in the form of Create/Delete/Get/Update/List. - api-change:
managedblockchain-query
: [botocore
] This release adds support for transactions that have not reached finality. It also removes support for the status property from the response of the GetTransaction operation. You can use the confirmationStatus and executionStatus properties to determine the status of the transaction. - api-change:
mediaconvert
: [botocore
] This release includes support for broadcast-mixed audio description tracks. - api-change:
neptune-graph
: [botocore
] Adding new APIs in SDK for Amazon Neptune Analytics. These APIs include operations to execute, cancel, list queries and get the graph summary.
v1.34.32
=======
- api-change:
cloudformation
: [botocore
] CloudFormation IaC generator allows you to scan existing resources in your account and select resources to generate a template for a new or existing CloudFormation stack. - api-change:
elbv2
: [botocore
] Update elbv2 client to latest version - api-change:
glue
: [botocore
] Update page size limits for GetJobRuns and GetTriggers APIs. - api-change:
ssm
: [botocore
] This release adds an optional Duration parameter to StateManager Associations. This allows customers to specify how long an apply-only-on-cron association execution should run. Once the specified Duration is out all the ongoing cancellable commands or automations are cancelled.
v1.34.31
=======
- api-change:
datazone
: [botocore
] Add new skipDeletionCheck to DeleteDomain. Add new skipDeletionCheck to DeleteProject which also automatically deletes dependent objects - api-change:
route53
: [botocore
] Update the SDKs for text changes in the APIs.
v1.34.30
=======
- api-change:
autoscaling
: [botocore
] EC2 Auto Scaling customers who use attribute based instance-type selection can now intuitively define their Spot instances price protection limit as a percentage of the lowest priced On-Demand instance type. - api-change:
comprehend
: [botocore
] Comprehend PII analysis now supports Spanish input documents. - api-change:
ec2
: [botocore
] EC2 Fleet customers who use attribute based instance-type selection can now intuitively define their Spot instances price protection limit as a percentage of the lowest priced On-Demand instance type. - api-change:
mwaa
: [botocore
] This release adds MAINTENANCE environment status for Amazon MWAA environments. - api-change:
rds
: [botocore
] Introduced support for the InsufficientDBInstanceCapacityFault error in the RDS RestoreDBClusterFromSnapshot and RestoreDBClusterToPointInTime API methods. This provides enhanced error handling, ensuring a more robust experience. - api-change:
snowball
: [botocore
] Modified description of createaddress to include direction to add path when providing a JSON file.
v1.34.29
=======
- api-change:
connect
: [botocore
] Update list and string length limits for predefined attributes. - api-change:
inspector2
: [botocore
] This release adds ECR container image scanning based on their lastRecordedPullTime. - api-change:
sagemaker
: [botocore
] Amazon SageMaker Automatic Model Tuning now provides an API to programmatically delete tuning jobs.
v1.34.28
=======
- api-change:
acm-pca
: [botocore
] AWS Private CA now supports an option to omit the CDP extension from issued certificates, when CRL revocation is enabled. - api-change:
lightsail
: [botocore
] This release adds support for IPv6-only instance plans.
v1.34.27
=======
- api-change:
ec2
: [botocore
] Introduced a new clientToken request parameter on CreateNetworkAcl and CreateRouteTable APIs. The clientToken parameter allows idempotent operations on the APIs. - api-change:
ecs
: [botocore
] Documentation updates for Amazon ECS. - api-change:
outposts
: [botocore
] DeviceSerialNumber parameter is now optional in StartConnection API - api-change:
rds
: [botocore
] This release adds support for Aurora Limitless Database. - api-change:
storagegateway
: [botocore
] Add DeprecationDate and SoftwareVersion to response of ListGateways.
v1.34.26
=======
- api-change:
inspector2
: [botocore
] This release adds support for CIS scans on EC2 instances.
v1.34.25
=======
- enhancement:documentation: [
botocore
] Updates the GitHub issue creation link in our README
v1.34.24
=======
- api-change:
appconfigdata
: [botocore
] Fix FIPS Endpoints in aws-us-gov. - api-change:
cloud9
: [botocore
] Doc-only update around removing AL1 from list of available AMIs for Cloud9 - api-change:
cloudfront-keyvaluestore
: [botocore
] This release improves upon the DescribeKeyValueStore API by returning two additional fields, Status of the KeyValueStore and the FailureReason in case of failures during creation of KeyValueStore. - api-change:
connectcases
: [botocore
] This release adds the ability to view audit history on a case and introduces a new parameter, performedBy, for CreateCase and UpdateCase API's. - api-change:
ec2
: [botocore
] Documentation updates for Amazon EC2. - api-change:
ecs
: [botocore
] This release adds support for Transport Layer Security (TLS) and Configurable Timeout to ECS Service Connect. TLS facilitates privacy and data security for inter-service communications, while Configurable Timeout allows customized per-request timeout and idle timeout for Service Connect services. - api-change:
finspace
: [botocore
] Allow customer to set zip default through command line arguments. - api-change:
organizations
: [botocore
] Doc only update for quota increase change - api-change:
rds
: [botocore
] Introduced support for the InsufficientDBInstanceCapacityFault error in the RDS CreateDBCluster API method. This provides enhanced error handling, ensuring a more robust experience when creating database clusters with insufficient instance capacity. - api-change:
endpoint-rules
: [botocore
] Update endpoint-rules client to latest version
v1.34.23
=======
- api-change:
athena
: [botocore
] Introducing new NotebookS3LocationUri parameter to Athena ImportNotebook API. Payload is no longer required and either Payload or NotebookS3LocationUri needs to be provided (not both) for a successful ImportNotebook API call. If both are provided, an InvalidRequestException will be thrown. - api-change:
codebuild
: [botocore
] Release CodeBuild Reserved Capacity feature - api-change:
dynamodb
: [botocore
] This release adds support for including ApproximateCreationDateTimePrecision configurations in EnableKinesisStreamingDestination API, adds the same as an optional field in the response of DescribeKinesisStreamingDestination, and adds support for a new UpdateKinesisStreamingDestination API. - api-change:
qconnect
: [botocore
] Increased Quick Response name max length to 100
v1.34.22
=======
- api-change:
b2bi
: [botocore
] Increasing TestMapping inputFileContent file size limit to 5MB and adding file size limit 250KB for TestParsing input file. This release also includes exposing InternalServerException for Tag APIs. - api-change:
cloudtrail
: [botocore
] This release adds a new API ListInsightsMetricData to retrieve metric data from CloudTrail Insights. - api-change:
connect
: [botocore
] GetMetricDataV2 now supports 3 groupings - api-change:
drs
: [botocore
] Removed invalid and unnecessary default values. - api-change:
firehose
: [botocore
] Allow support for Snowflake as a Kinesis Data Firehose delivery destination. - api-change:
sagemaker-featurestore-runtime
: [botocore
] Increase BatchGetRecord limits from 10 items to 100 items
v1.34.21
=======
- api-change:
dynamodb
: [botocore
] Updating note for enabling streams for UpdateTable. - api-change:
keyspaces
: [botocore
] This release adds support for Multi-Region Replication with provisioned tables, and Keyspaces auto scaling APIs
v1.34.20
=======
- api-change:
iot
: [botocore
] Revert release of LogTargetTypes - api-change:
iotfleetwise
: [botocore
] Updated APIs: SignalNodeType query parameter has been added to ListSignalCatalogNodesRequest and ListVehiclesResponse has been extended with attributes field. - api-change:
macie2
: [botocore
] This release adds support for analyzing Amazon S3 objects that are encrypted using dual-layer server-side encryption with AWS KMS keys (DSSE-KMS). It also adds support for reporting DSSE-KMS details in statistics and metadata about encryption settings for S3 buckets and objects. - api-change:
payment-cryptography
: [botocore
] Provide an additional option for key exchange using RSA wrap/unwrap in addition to tr-34/tr-31 in ImportKey and ExportKey operations. Added new key usage (type) TR31_M1_ISO_9797_1_MAC_KEY, for use with Generate/VerifyMac dataplane operations with ISO9797 Algorithm 1 MAC calculations. - api-change:
personalize-runtime
: [botocore
] Documentation updates for Amazon Personalize - api-change:
personalize
: [botocore
] Documentation updates for Amazon Personalize. - api-change:
rekognition
: [botocore
] This release adds ContentType and TaxonomyLevel attributes to DetectModerationLabels and GetMediaAnalysisJob API responses. - api-change:
securityhub
: [botocore
] Documentation updates for AWS Security Hub
v1.34.19
=======
- api-change:
sagemaker
: [botocore
] This release will have ValidationException thrown if certain invalid app types are provided. The release will also throw ValidationException if more than 10 account ids are provided in VpcOnlyTrustedAccounts.
v1.34.18
=======
- api-change:
connect
: [botocore
] Supervisor Barge for Chat is now supported through the MonitorContact API. - api-change:
connectparticipant
: [botocore
] Introduce new Supervisor participant role - api-change:
location
: [botocore
] Location SDK documentation update. Added missing fonts to the MapConfiguration data type. Updated note for the SubMunicipality property in the place data type. - api-change:
mwaa
: [botocore
] This Amazon MWAA feature release includes new fields in CreateWebLoginToken response model. The new fields IamIdentity and AirflowIdentity will let you match identifications, as the Airflow identity length is currently hashed to 64 characters. - api-change:
s3control
: [botocore
] S3 On Outposts team adds dualstack endpoints support for S3Control and S3Outposts API calls. - api-change:
supplychain
: [botocore
] This release includes APIs CreateBillOfMaterialsImportJob and GetBillOfMaterialsImportJob. - api-change:
transfer
: [botocore
] AWS Transfer Family now supports static IP addresses for SFTP & AS2 connectors and for async MDNs on AS2 servers. - api-change:
endpoint-rules
: [botocore
] Update endpoint-rules client to latest version
v1.34.17
=======
- api-change:
ec2
: [botocore
] This release adds support for adding an ElasticBlockStorage volume configurations in ECS RunTask/StartTask/CreateService/UpdateService APIs. The configuration allows for attaching EBS volumes to ECS Tasks. - api-change:
ecs
: [botocore
] This release adds support for adding an ElasticBlockStorage volume configurations in ECS RunTask/StartTask/CreateService/UpdateService APIs. The configuration allows for attaching EBS volumes to ECS Tasks. - api-change:
events
: [botocore
] Update events client to latest version - api-change:
iot
: [botocore
] Add ConflictException to Update APIs of AWS IoT Software Package Catalog - api-change:
iotfleetwise
: [botocore
] The following dataTypes have been removed: CUSTOMER_DECODED_INTERFACE in NetworkInterfaceType; CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL in SignalDecoderFailureReason; CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL in NetworkInterfaceFailureReason; CUSTOMER_DECODED_SIGNAL in SignalDecoderType - api-change:
secretsmanager
: [botocore
] Doc only update for Secrets Manager - api-change:
workspaces
: [botocore
] Added AWS Workspaces RebootWorkspaces API - Extended Reboot documentation update
v1.34.16
========
- api-change:
docdb
: [botocore
] This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup. - api-change:
ecs
: [botocore
] This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature. - api-change:
iam
: [botocore
] Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null. - api-change:
s3
: [botocore
] Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API.
v1.34.15
========
- api-change:
compute-optimizer
: [botocore
] Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications - api-change:
config
: [botocore
] Documentation update for the OrganizationConfigRuleName regex pattern. - api-change:
ec2
: [botocore
] This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. - api-change:
eks
: [botocore
] Added support for new AL2023 GPU AMIs to the supported AMITypes. - api-change:
groundstation
: [botocore
] Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide - api-change:
medialive
: [botocore
] AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex. - api-change:
sagemaker
: [botocore
] Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas.
v1.34.14
========
- api-change:
application-autoscaling
: [botocore
] Application Auto Scaling is now more responsive to the changes in demand of your SageMaker Inference endpoints. To get started, create or update a Target Tracking policy based on High Resolution CloudWatch metrics. - api-change:
application-signals
: [botocore
] CloudWatch Application Signals now supports application logs correlation with traces and operational health metrics of applications running on EC2 instances. Users can view the most relevant telemetry to troubleshoot application health anomalies such as spikes in latency, errors, and availability. - api-change:
bedrock-runtime
: [botocore
] Provides ServiceUnavailableException error message - api-change:
codecommit
: [botocore
] CreateRepository API now throws OperationNotAllowedException when the account has been restricted from creating a repository. - api-change:
datazone
: [botocore
] Introduces GetEnvironmentCredentials operation to SDK - api-change:
ec2
: [botocore
] EC2 Fleet now supports using custom identifiers to reference Amazon Machine Images (AMI) in launch requests that are configured to choose from a diversified list of instance types. - api-change:
ecr
: [botocore
] API and documentation updates for Amazon ECR, adding support for creating, updating, describing and deleting ECR Repository Creation Template. - api-change:
eks
: [botocore
] This release adds support for EKS cluster to manage extended support. - api-change:
elbv2
: [botocore
] This release adds support fo
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This MR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.