Update changelog

This commit is contained in:
Alejandro Celaya
2025-04-20 13:27:57 +02:00
parent 8da630e149
commit b0189c6457
4 changed files with 10 additions and 6 deletions

View File

@@ -4,12 +4,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org).
## [Unreleased] ## [4.4.0] - 2025-04-20
### Added ### Added
* [#1510](https://github.com/shlinkio/shlink-web-client/issues/1510) Existing HTTP credentials (cookies, TLS certs, authentication headers) can now be forwarded to the API server if appropriate [CORS headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Credentials) are set
* [shlink-web-component#637](https://github.com/shlinkio/shlink-web-component/pull/637) QR codes are now generated client-side, without hitting Shlink. * [shlink-web-component#637](https://github.com/shlinkio/shlink-web-component/pull/637) QR codes are now generated client-side, without hitting Shlink.
* [shlink-web-component#641](https://github.com/shlinkio/shlink-web-component/issues/641) It is now possible to provide any logo to be used with QR codes. * [shlink-web-component#641](https://github.com/shlinkio/shlink-web-component/issues/641) It is now possible to provide any logo to be used with QR codes.
* [shlink-web-component#640](https://github.com/shlinkio/shlink-web-component/issues/640) Allow default QR code settings to be handled via app settings. * [shlink-web-component#640](https://github.com/shlinkio/shlink-web-component/issues/640) Allow default QR code settings to be handled via app settings.
* [#1510](https://github.com/shlinkio/shlink-web-client/issues/1510) Existing HTTP credentials (cookies, TLS certs, authentication headers) are now automatically forwarded to the API server if appropriate [CORS headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Credentials) are set
### Changed ### Changed
* Update to `react-router` 7.0 * Update to `react-router` 7.0

View File

@@ -40,11 +40,15 @@ export const ServerForm: FC<ServerFormProps> = ({ onSubmit, initialValues, child
required required
/> />
<Details summary="Advanced options"> <Details summary="Advanced options">
<div className="tw:flex tw:flex-col tw:gap-1"> <div className="tw:flex tw:flex-col tw:gap-0.5">
<Label className="tw:flex tw:items-center tw:gap-x-1.5 tw:cursor-pointer"> <Label className="tw:flex tw:items-center tw:gap-x-1.5 tw:cursor-pointer">
<Checkbox onChange={toggleForwardCredentials} checked={forwardCredentials} /> <Checkbox onChange={toggleForwardCredentials} checked={forwardCredentials} />
Forward credentials (like cookies) to this server on every request. Forward credentials to this server on every request.
</Label> </Label>
<small className="tw:pl-5.5 tw:text-gray-600 tw:dark:text-gray-400 tw:mt-0.5">
{'"'}Credentials{'"'} here means cookies, TLS client certificates, or authentication headers containing a username
and password.
</small>
<small className="tw:pl-5.5 tw:text-gray-600 tw:dark:text-gray-400"> <small className="tw:pl-5.5 tw:text-gray-600 tw:dark:text-gray-400">
<b>Important!</b> If you are not sure what this means, leave it unchecked. Enabling this option will <b>Important!</b> If you are not sure what this means, leave it unchecked. Enabling this option will
make all requests fail for Shlink older than v4.5.0, as it requires the server to set a more strict make all requests fail for Shlink older than v4.5.0, as it requires the server to set a more strict

View File

@@ -79,7 +79,7 @@ describe('<EditServer />', () => {
const { user } = setUp({ ...defaultSelectedServer, ...serverPartial }); const { user } = setUp({ ...defaultSelectedServer, ...serverPartial });
await user.click(screen.getByText('Advanced options')); await user.click(screen.getByText('Advanced options'));
await user.click(screen.getByLabelText('Forward credentials (like cookies) to this server on every request.')); await user.click(screen.getByLabelText('Forward credentials to this server on every request.'));
fireEvent.submit(screen.getByRole('form')); fireEvent.submit(screen.getByRole('form'));

View File

@@ -29,7 +29,7 @@ describe('<ServerForm />', () => {
it('shows advanced options', async () => { it('shows advanced options', async () => {
const { user } = setUp(); const { user } = setUp();
const forwardCredentialsLabel = 'Forward credentials (like cookies) to this server on every request.'; const forwardCredentialsLabel = 'Forward credentials to this server on every request.';
expect(screen.queryByLabelText(forwardCredentialsLabel)).not.toBeInTheDocument(); expect(screen.queryByLabelText(forwardCredentialsLabel)).not.toBeInTheDocument();
await user.click(screen.getByText('Advanced options')); await user.click(screen.getByText('Advanced options'));