Commit graph

10322 commits

Author SHA1 Message Date
Tim Neutkens
96057c8f67 v12.0.9-canary.4 2022-01-20 09:57:25 +01:00
Pierre Nel
c6aee1efb0
Update with-linaria dependency (#33487) 2022-01-20 09:55:28 +01:00
Donny/강동윤
a54eb376e1
feat(next-swc): Update swc (#33485) 2022-01-20 09:54:56 +01:00
JJ Kasper
2fd17ba1f8
v12.0.9-canary.3 2022-01-19 16:09:37 -06:00
Jiachi Liu
8ca32f15f7
Move static serving to next server (#33475)
Part of #31506

Decouple static serving logic from base-server, let them go to next-server only
2022-01-19 21:54:04 +00:00
Balázs Orbán
1d4f364515
chore(deps): upgrade node-fetch (#33466)
Fixes #33462 

Tried upgrading to v3, but we rely on the `timeout` property:

e5dee17f77/packages/next/telemetry/post-payload.ts (L12)

Which was removed since it's non-standard:

https://github.com/node-fetch/node-fetch/blob/main/docs/v3-UPGRADE-GUIDE.md#the-timeout-option-was-removed

I wanted to keep this PR minimal, so I did not try to work around the above.

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `yarn lint`
2022-01-19 16:48:11 +00:00
JJ Kasper
818f6b3258
Update main field for nccd jest-worker (#33465) 2022-01-19 10:11:14 -06:00
Donny/강동윤
3574b91b48
feat(next-swc): Update swc (#33461)
This PR applies

 - https://github.com/swc-project/swc/pull/3313

 - https://github.com/swc-project/swc/pull/3310

Fixes https://github.com/vercel/next.js/issues/31077
2022-01-19 15:57:39 +00:00
Javi Velasco
e5dee17f77
Enforce absolute URLs in Edge Functions runtime (#33410)
We currently have inconsistencies when working with URLs in the Edge Functions runtime, this PR addresses them introducing a warning for inconsistent usage that will break in the future. Here is the reasoning.

### The Browser

When we are in a browser environment there is a fixed location stored at `globalThis.location`. Then, if one tries to build a request with a relative URL it will work using that location global hostname as _base_ to construct its URL. For example:

```typescript
// https://nextjs.org
new Request('/test').url; // https://nextjs.org/test
Response.redirect('/test').headers.get('Location'); // https://nextjs.org/test
```

However, if we attempt to run the same code from `about:blank` it would not work because the global to use as a base `String(globalThis.location)` is not a valid URL. Therefore a call to `Response.redirect('/test')` or `new Response('/test')` would fail.

### Edge Functions Runtime

In Next.js Edge Functions runtime the situation is slightly different from a browser. Say that we have a root middleware (`pages/_middleware`) that gets invoked for every page. In the middleware file we expose the handler function and also define a global variable that we mutate on every request:

```typescript
// pages/_middleware

let count = 0;

export function middleware(req: NextRequest) {
  console.log(req.url);
  count += 1;
}
```

Currently we cache the module scope in the runtime so subsequent invocations would hold the same globals and the module would not be evaluated again. This would make the counter to increment for each request that the middleware handles. It is for this reason that we **can't have a global location** that changes across different invocations. Each invocation of the same function uses the same global which also holds primitives like `URL` or `Request` so changing an hypothetical `globalThis.location` per request would affect concurrent requests being handled.

Then, it is not possible to use relative URLs in the same way the browser does because we don't have a global to rely on to use its host to compose a URL from a relative path.

### Why it works today

We are **not** validating what is provided to, for example, `NextResponse.rewrite()` nor `NextResponse.redirect()`. We simply create a `Response` instance that adds the corresponding header for the rewrite or the redirect. Then it is **the consumer** the one that composes the final destination based on the request. Theoretically you can pass any value and it would fail on redirect but won't validate the input.

Of course this is inconsistent because it doesn't make sense that `NextResponse.rewrite('/test')` works but `fetch(new NextRequest('/test'))` does not. Also we should validate what is provided. Finally, we want to be consistent with the way a browser behaves so `new Request('/test')` _should_ not work if there is no global location which we lack.

### What this PR does

We will have to deprecate the usage of relative URLs in the previously mentioned scenarios. In preparation for it, this PR adds a validation function in those places where it will break in the future, printing a warning with a link that points to a Next.js page with an explanation of the issue and ways to fix it.

Although middleware changes are not covered by semver, we will roll this for some time to make people aware that this change is coming. Then after a reasonable period of time we can remove the warning and make the code fail when using relative URLs in the previously exposed scenarios.
2022-01-19 15:10:25 +00:00
Shu Ding
4d3b2ea426
Move middleware handling to node server (#33448)
Part of #31506, this PR moves the code of middleware handling from the base server to the node server.

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `yarn lint`
2022-01-19 12:36:06 +00:00
Tim Neutkens
82f3233c0c v12.0.9-canary.2 2022-01-19 09:16:10 +01:00
Donny/강동윤
b111ba159a
fix(next-swc): Update swc (#33427)
This PR applies lots of patches, including

 - https://github.com/swc-project/swc/pull/3303
 - https://github.com/swc-project/swc/pull/3301
 - https://github.com/swc-project/swc/pull/3287
 - https://github.com/swc-project/swc/pull/3286
 - https://github.com/swc-project/swc/pull/3289

  - https://github.com/swc-project/swc/pull/3302
    - Fixes https://github.com/vercel/next.js/issues/33265

(Verified)

I'll undraft this after verifying
2022-01-19 08:15:45 +00:00
JJ Kasper
3220bbaba3
Fix pre-compiled check from copying react-refresh-utils (#33442)
This updates to not commit the copied `react-refresh-utils` files as they will change anytime a new version is published. 

Fixes: https://github.com/vercel/next.js/runs/4855748491?check_suite_focus=true
2022-01-18 18:49:26 +00:00
Jiachi Liu
c367c72d28
Disable cache for rsc pages (#33438)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-18 17:56:08 +01:00
Tim Neutkens
45eb137a89 v12.0.9-canary.1 2022-01-18 16:42:03 +01:00
Mosaad
2518a5a4c7
docs: fix url (#33409) 2022-01-18 00:26:24 +01:00
Hannes Bornö
c634d76162
ReferenceError in authentication.md example fixed (#33411)
Before
```jsx
export const getServerSideProps = withSession(async function ({ req, res }) {
  if (!req.session.user) {
    return {
      redirect: {
        destination: '/login',
        permanent: false,
      },
    }
  }

  return {
    props: { user }, // User not defined
  }
})
```
2022-01-17 21:07:53 +00:00
Jiachi Liu
41614e52d7
Fix broken html on streaming render for error page (#33399)
## Bug

Fixes: #32515

Previously, we render the `suffix` after consuming 1st chunk, instead we should render it after stream finished

- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [x] Errors have helpful link attached, see `contributing.md`
2022-01-17 20:27:12 +00:00
Mario Souto
6d89237684
docs: add skynexui to examples (#33326)
Recently I started to build this library that uses `styled-jsx` under the hood and provide a utility first API to create your own components.

> https://github.com/skynexui/components/ 

Actually I run the lib docs over vercel

![image](https://user-images.githubusercontent.com/13791385/149597726-677cafe0-f7f6-4d71-8d56-fbd7b1b26bfa.png)


## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [x] Make sure the linting passes by running `yarn lint`
2022-01-17 19:15:05 +00:00
Lee Robinson
305facaad8
[docs] Fix 404 link for testing example. (#33407)
Closes https://github.com/vercel/next.js/issues/33406.

This PR is a demonstration of contributing to open source and fixes an issue with a 404 link in the testing documentation.
2022-01-17 19:08:52 +00:00
Rishabh Poddar
5d3fdd4237
Updates dependency version of frontend SDK in with-supertokens example (#33393)
Update version of supertokens-auth-react SDK for this demo. It has a few UI enhancements for our pre built UI + a new passwordless auth recipe.

Co-authored-by: kant01ne <5072452+kant01ne@users.noreply.github.com>
Co-authored-by: Bhumil Sarvaiya <21988812+bhumilsarvaiya@users.noreply.github.com>
Co-authored-by: Joel Coutinho <6310783+jscyo@users.noreply.github.com>
2022-01-17 16:44:14 +00:00
Oleg Zuev
8dc46705f2
Replace regexp to plain string for optimization render HTML (#33306)
## Bug

Line `const [renderTargetPrefix, renderTargetSuffix] = documentHTML.split(*)` with RegExp almost 80 times slower than a plain string.

Before:
![telegram-cloud-photo-size-2-5409140542421448593-y](https://user-images.githubusercontent.com/22259080/149506024-84365840-5b0f-481f-b05f-1381d839c579.jpg)


After:
![telegram-cloud-photo-size-2-5409140542421448594-y](https://user-images.githubusercontent.com/22259080/149506036-0df69ae7-e265-40da-a865-73c84496aa58.jpg)
2022-01-17 16:22:44 +00:00
Jiachi Liu
2c9c8f76a3
Remove node fetch polyfill from base server (#33395)
* keep fetch polyfill only in dev-server, next-server (polyfilled in next.ts)
* also export worker, static paths worker since they also requires it
2022-01-17 15:50:41 +00:00
Jiachi Liu
f4d2938503
Remove node fetch polyfill from base server (#33395)
* keep fetch polyfill only in dev-server, next-server (polyfilled in next.ts)
* also export worker, static paths worker since they also requires it
2022-01-17 15:50:36 +00:00
JJ Kasper
25d064f812
Pre-compile more dependencies (#32742)
This ncc's some remaining dependencies bringing us under 20 install time dependencies (including nested dependencies), this also reduces install size by another `2.75 MB`. A follow-up PR will investigate a custom install script for our swc packages to allow us to remove the `optionalDependencies` which is slowing down install time as well. 

x-ref: https://github.com/vercel/next.js/pull/32679
x-ref: https://github.com/vercel/next.js/pull/32627
x-ref: https://github.com/vercel/next.js/issues/31887
x-ref: https://github.com/vercel/styled-jsx/pull/770
2022-01-17 15:17:22 +00:00
JJ Kasper
389432048c
Update check for fallback pages during export (#33323)
This fixes our check for fallback pages during `next export` as we are currently erroring even when the erroneous pages are not included in the `exportPathMap`. This also adds additional tests to certify the expected behavior for the error. 

## Bug

- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [x] Errors have helpful link attached, see `contributing.md`

Fixes: https://github.com/vercel/next.js/issues/29135
2022-01-17 14:44:45 +00:00
Donny/강동윤
aaa77dd73f
Update swc (#33342) 2022-01-17 15:09:55 +01:00
Maedah Batool
790db2c2e4
Working example for building forms with Next.js (#32669)
* feat: Forms example

* docs: deploy button

* Update examples/next-forms/package.json

Co-authored-by: Lee Robinson <me@leerob.io>

* Update examples/next-forms/package.json

Co-authored-by: Lee Robinson <me@leerob.io>

* Update examples/next-forms/package.json

Co-authored-by: Lee Robinson <me@leerob.io>

* Update examples/next-forms/pages/js-form.js

Co-authored-by: Lee Robinson <me@leerob.io>

* Update examples/next-forms/pages/js-form.js

Co-authored-by: Lee Robinson <me@leerob.io>

* Update examples/next-forms/pages/index.js

Co-authored-by: Lee Robinson <me@leerob.io>

* Update examples/next-forms/README.md

Co-authored-by: Lee Robinson <me@leerob.io>

* Update comments formatting

* Improve docs for correct examples format.

* Lint tests

Co-authored-by: Lee Robinson <me@leerob.io>
2022-01-17 14:20:50 +01:00
Bashu Naimi-Roy
3dc4b524e7
fix minor typo in SWR (#33378)
Fixes a small typo: "highly recommend" -> "highly recommended"
2022-01-17 04:04:42 +00:00
JJ Kasper
02405e2247
Fix getServerSideProps hanging in dev on early end (#33366)
This fixes the case where calling `res.end()` is `getServerSideProps` would cause the request to hang in development due to our `Proxy` around `res` causing internal `ServerResponse` fields to not be available ([related post](https://javascript.info/proxy#built-in-objects-internal-slots)). I also migrated our `getServerSideProps` test suite to an e2e suite with a test for this case. 

## Bug

- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [x] Errors have helpful link attached, see `contributing.md`

Fixes: https://github.com/vercel/next.js/issues/15118
Fixes: https://github.com/vercel/next.js/issues/32824
Closes: https://github.com/vercel/next.js/pull/33129
2022-01-16 16:14:21 +00:00
Lee Robinson
10c4f5d133
Add link to security email directly. (#33358)
* Update SECURITY.md

* Update SECURITY.md
2022-01-15 21:33:43 -06:00
Martijn Hols
67bc262b69
Update security-headers.md: fix path does not match homepage (#33137)
The filter did not match the intention of the comment as `/(.*)` does not match the homepage as per https://github.com/vercel/next.js/discussions/17991#discussioncomment-1298194.

## Documentation / Examples

- [x] Make sure the linting passes by running `yarn lint`
2022-01-15 00:36:27 +00:00
Ryan
91dd8193b5
Update package.json for examples/with-supabase-auth-realtime-db (#33321)
Updating dependencies for examples/with-supabase-auth-realtime-db so npm install does not encounter dependency errors on install.



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `yarn lint`
2022-01-14 23:56:57 +00:00
George Karagkiaouris
3e00a81ede
Base Http for BaseServer (#32999)
Adds base http classes, along with Node + Web (partial) implementations
Removes usage of IncomingMessage and ServerResponse from base server

Co-authored-by: Shu Ding <3676859+shuding@users.noreply.github.com>
2022-01-14 21:01:35 +00:00
Jon R
89b8d5856e
[examples] Update remark dependency for blog-starter (#33313)
Upgrade remark-html dependency to resolve the critical vulnerability.

Newer versions like 15.0.1 do not work with this example but version 13.0.2 fixes the security issue and still works.
```
                       === npm audit security report ===

# Run  npm install remark-html@15.0.1  to resolve 1 vulnerability
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Critical      │ Unsafe defaults in `remark-html`                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ remark-html                                                  │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ remark-html                                                  │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ remark-html                                                  │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://github.com/advisories/GHSA-9q5w-79cv-947m            │
└───────────────┴──────────────────────────────────────────────────────────────┘
```
<!--
Thanks for opening a PR! Your contribution is much appreciated.
In order to make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below.
Choose the right checklist for the change that you're making:
-->

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `yarn lint`
2022-01-14 17:18:42 +00:00
Callum Gare
5748915851
Add onLoad gottcha note to next/script docs (#33097)
Add a note to the onLoad section of the next/script documentation clarifying that onLoad will not run if `strategy="beforeInteractive"`. (That tripped me up for a bit so I thought I'd update the docs to save any one else the hassle :).)

Co-authored-by: Lee Robinson <9113740+leerob@users.noreply.github.com>
2022-01-14 16:22:57 +00:00
JJ Kasper
613e4c91e3
Update yarn PnP tests and disable swc file reading for PnP (#33236)
* Update yarn PnP tests and disable swc file reading for PnP

* update job

* Update test

* add env variable

* update destory

* test one

* bump timeout

* update pnp install command

* only run pnp test

* add more logs

* handle exit signal

* dont inherit stdio for install

* update server start

* re-add test type

* add build log

* additional logging

* update build command

* remove separate timeout

* update install command

* install separate for better time info

* add cache pre-warming

* update yarn config

* enable other pnp tests

* Separate out tests

* fix-lint

* update path

* update test concurrency for isolated tests

* update retries

* Revert "update test concurrency for isolated tests"

This reverts commit 3a6e924df8ec61d55d3ee8a58d24cd50f0141195.

* re-enable production tests

* apply suggestions
2022-01-14 09:43:30 -06:00
Steven
7f6afa4a89
Update links in next export + next/image error message (#33317)
Minor changes to this error message to link to latest docs
2022-01-14 15:19:52 +00:00
Tim Neutkens
ab62a13dfe
Add sections for Remove React Properties and Remove Console to compiler docs (#33311)
Adds docs for some experimental flags that were already shipped to stable.



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `yarn lint`
2022-01-14 14:17:32 +00:00
Huseyin ELMAS
4fc19792d0
fix(docs): master branch renaming (#33312)
contributing.md file still refers `master` branch name since the branch renamed as `main` recently. This PR contains a fix for that.

**related:**
#33153
#33198

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [x] Make sure the linting passes by running `yarn lint`


Co-authored-by: Tim Neutkens <6324199+timneutkens@users.noreply.github.com>
2022-01-14 13:55:30 +00:00
Jiachi Liu
00a843280d
Custom app for server components (#33149)
## Feature

Resolves #30996

- [x] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`
2022-01-14 13:01:00 +00:00
Tobias Koppers
30ca6b38ca
improve full refresh overlay (#33301)
include a few lines of stack trace in the full refresh overlay
error is not necessary webpack related



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `yarn lint`
2022-01-14 12:32:01 +00:00
Donny/강동윤
fd231a68bf
Update swc (#33201)
This PR is a bit big because AST definitions are modified recently because previous AST defs were too error-prone.
It will prevent plugin authors from making some common mistakes.


 - Closes #33088
 - Closes #31084
 - Closes #33283
2022-01-14 11:54:01 +00:00
JJ Kasper
7db6aa2fde
v12.0.9-canary.0 2022-01-13 15:19:42 -06:00
Bennett Dams
5d2730bb26
docs: Mention middleware for getStaticProps (#33273)
Mention middleware to access the request for a page that uses `getStaticProps`, e.g. for authentication purposes.




## Documentation / Examples

- [x] Make sure the linting passes by running `yarn lint`


Co-authored-by: Lee Robinson <9113740+leerob@users.noreply.github.com>
2022-01-13 17:14:11 +00:00
Gal Schlezinger
338307cd83
Fix global process testing for the process polyfill (#33220)
When there is a DOM element with id of `process`, the DOM marks it as a global, so `window.process` would exist. We should check for `process.env` to make sure it is available too.
2022-01-13 16:44:55 +00:00
Maedah Batool
1f685ae532
Fixed broken links in data fetching docs (#33250)
Found some broken links in the updated Data Fetching docs. Fixed all of these.

## Documentation / Examples

- [x] Make sure the linting passes by running `yarn lint`


Co-authored-by: Lee Robinson <9113740+leerob@users.noreply.github.com>
2022-01-13 16:12:55 +00:00
Balázs Orbán
1dd053f9fa
chore(deps): upgrade postcss (#33142)
Fixes #33135

I also tried reducing the number of variants.

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `yarn lint`
2022-01-13 16:06:38 +00:00
Gonzalo Pozzo
0c5f4e7844
Update font-optimization.md (#33266)
Copy pasting the first paragraph will trigger the `@next/next/google-font-display` lint rule, users should be able to copy and paste it without warnings.
2022-01-13 15:31:08 +00:00
Tim Neutkens
ca19860684 Update license year 2022-01-13 16:02:34 +01:00