Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update all non-major dependencies #2192

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 28, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@blueprintjs/core (source) 5.10.1 -> 5.10.2 age adoption passing confidence
@blueprintjs/datetime2 (source) 2.3.3 -> 2.3.4 age adoption passing confidence
@blueprintjs/select (source) 5.1.3 -> 5.1.4 age adoption passing confidence
@mantine/hooks (source) 7.7.1 -> 7.9.1 age adoption passing confidence
@octokit/rest 20.0.2 -> 20.1.1 age adoption passing confidence
@sentry/browser (source) 7.107.0 -> 7.114.0 age adoption passing confidence
@tanstack/react-table (source) 8.12.0 -> 8.16.0 age adoption passing confidence
@testing-library/jest-dom 6.3.0 -> 6.4.5 age adoption passing confidence
@testing-library/react 14.0.0 -> 14.3.1 age adoption passing confidence
@testing-library/user-event 14.4.3 -> 14.5.2 age adoption passing confidence
@types/gapi (source) ^0.0.44 -> ^0.0.47 age adoption passing confidence
@types/gapi.auth2 (source) ^0.0.57 -> ^0.0.60 age adoption passing confidence
@types/google.picker (source) ^0.0.39 -> ^0.0.42 age adoption passing confidence
@types/lodash (source) 4.17.0 -> 4.17.1 age adoption passing confidence
@types/react (source) 18.2.66 -> 18.3.1 age adoption passing confidence
@types/react-dom (source) 18.2.22 -> 18.3.0 age adoption passing confidence
@types/react-syntax-highlighter (source) 15.5.11 -> 15.5.13 age adoption passing confidence
@types/react-test-renderer (source) 18.0.7 -> 18.3.0 age adoption passing confidence
ace-builds 1.15.3 -> 1.33.1 age adoption passing confidence
ag-grid-community (source) 31.1.1 -> 31.3.1 age adoption passing confidence
ag-grid-react (source) 31.1.1 -> 31.3.1 age adoption passing confidence
eslint (source) 9.1.1 -> 9.2.0 age adoption passing confidence
eslint-plugin-react-hooks (source) 5.1.0-canary-cb151849e1-20240424 -> 5.1.0-canary-fd0da3eef-20240404 age adoption passing confidence
eslint-plugin-react-refresh 0.4.6 -> 0.4.7 age adoption passing confidence
eslint-plugin-simple-import-sort 12.0.0 -> 12.1.0 age adoption passing confidence
i18next (source) 23.11.2 -> 23.11.3 age adoption passing confidence
konva (source) 9.2.0 -> 9.3.6 age adoption passing confidence
phaser (source) 3.55.2 -> 3.80.1 age adoption passing confidence
prettier (source) ~3.0.0 -> ~3.2.0 age adoption passing confidence
re-resizable 6.9.11 -> 6.9.16 age adoption passing confidence
react (source) 18.2.0 -> 18.3.1 age adoption passing confidence
react-dom (source) 18.2.0 -> 18.3.1 age adoption passing confidence
react-i18next 14.1.0 -> 14.1.1 age adoption passing confidence
react-router-dom (source) 6.22.3 -> 6.23.0 age adoption passing confidence
react-simple-keyboard (source) 3.7.94 -> 3.7.118 age adoption passing confidence
react-test-renderer (source) 18.2.0 -> 18.3.1 age adoption passing confidence
sass 1.72.0 -> 1.77.0 age adoption passing confidence
typescript (source) 5.4.3 -> 5.4.5 age adoption passing confidence
webpack-bundle-analyzer 4.10.1 -> 4.10.2 age adoption passing confidence

Release Notes

palantir/blueprint (@​blueprintjs/core)

v5.10.2

Compare Source

palantir/blueprint (@​blueprintjs/datetime2)

v2.3.4

Compare Source

palantir/blueprint (@​blueprintjs/select)

v5.1.4

Compare Source

mantinedev/mantine (@​mantine/hooks)

v7.9.1

Compare Source

What's Changed

  • [@mantine/core] Fix theme.scale being ignored in Input, Paper and Table border styles
  • [@mantine/core] Fix virtualColor function requring use client in Next.js
  • [@mantine/core] FloatingIndicator: Fix incorrect resize observer logic (#​6129)
  • [@mantine/core] NumberInput: Fix incorrect allowNegative handling with up/down arrows (#​6170)
  • [@mantine/core] Fix error={true} prop set on Checkbox, Radio and Switch rendering unxpected error element with margin
  • [@mantine/core] SegmentedControl: Fix theme.primaryColor not being respected in the focus ring styles
  • [@mantine/core] CloseButton: Fix incorrect specificity of some selectors
  • [@mantine/core] Fix incorrect aria-label handling in Select, Autocomplete, MultiSelect and TagsInputs components (#​6123)
  • [@mantine/core] Modal: Prevent onClose 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

Full Changelog: mantinedev/mantine@7.9.0...7.9.1

v7.9.0: ✨

Compare Source

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 '@&#8203;mantine/core';
import { isEmail, useField } from '@&#8203;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 '@&#8203;mantine/core';
import { useField } from '@&#8203;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 {
  @&#8203;mixin clearfix;
  @&#8203;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 be red.9
  • Between theme.breakpoints.sm and theme.breakpoints.lg, color will be orange.9
  • Below theme.breakpoints.sm, color will be blue.9
import { Box, useMatches } from '@&#8203;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 '@&#8203;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
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

Compare Source

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] Add defaultValue to form.getInputProps return type
  • [@mantine/form] Replace key spread with form.getInputProps with form.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: Allow null 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

Full Changelog: mantinedev/mantine@7.8.0...7.8.1

v7.8.0

Compare Source

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;

  @&#8203;media (min-width: 320px) {
    font-size: 32px;
  }
}

Will be transformed to:

.demo {
  font-size: calc(1rem * var(--mantine-scale));

  @&#8203;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() and url() 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 '@&#8203;mantine/core';
import { hasLength, isEmail, useForm } from '@&#8203;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 '@&#8203;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 '@&#8203;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 '@&#8203;mantine/core';
import { useForm } from '@&#8203;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 '@&#8203;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 '@&#8203;mantine/core';
import { useFetch } from '@&#8203;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 '@&#8203;tabler/icons-react';
import { ActionIcon, Group, Table } from '@&#8203;mantine/core';
import { useMap } from '@&#8203;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 '@&#8203;mantine/core';
import { useSet } from '@&#8203;mantine/hooks';

function Demo() {
  const [input, setInput] = useState('');
  const scopes = useSet<string>(['@&#8203;mantine', '@&#8203;mantine-tests', '@&#8203;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 '@&#8203;mantine/core';
import { useDebouncedCallback } from '@&#8203;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 '@&#8203;mantine/core';
import { useThrottledState } from '@&#8203;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 '@&#8203;mantine/core';
import { useThrottledValue } from '@&#8203;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 '@&#8203;mant

</details>

---

### 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 PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/source-academy/frontend).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4zMi4wIiwidXBkYXRlZEluVmVyIjoiMzcuMzUxLjIiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->

@renovate renovate bot added the dependencies This pull request updates dependency files label Aug 28, 2022
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 19 times, most recently from 22e03b5 to 3077d25 Compare September 4, 2022 04:08
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from 66a1592 to b604b6c Compare September 7, 2022 16:11
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 26 times, most recently from 1e63a3a to f35cc4a Compare May 8, 2024 09:29
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from d1eda5f to 9a19dcd Compare May 9, 2024 08:43
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 9a19dcd to e55fc85 Compare May 9, 2024 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies This pull request updates dependency files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant