diff --git a/docs/api-overview.md b/docs/api-overview.md
index 182add5..2a78ca1 100644
--- a/docs/api-overview.md
+++ b/docs/api-overview.md
@@ -1,5 +1,6 @@
 [//]: # " "
 [//]: # " Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2021 Payara Services Ltd. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Public License v. 2.0, which is available at "
@@ -21,7 +22,7 @@
 
 ## Compatibility
 
-This page describes the HK2 2.0 API, which was originally based on JSR-330 standard annotations.
+This page describes the HK2 3.0 API, which was originally based on Jakarta Dependency Injection (DI)  standard annotations.
 Also, Habitat has been replaced with a new interface called [ServiceLocator][servicelocator].
 
 ## Introduction
@@ -52,7 +53,7 @@
 [ServiceLocatorFactory][servicelocatorfactory] it will contain at least three services:
  
 - Itself (see [ServiceLocator][servicelocator])
-- The default JSR-330 resolver (see [InjectionResolver][injectionresolver])
+- The default Jakarta DI resolver (see [InjectionResolver][injectionresolver])
 - A service for configuring further services (see [DynamicConfigurationService][dynamicconfigurationservice])
 
 ## Adding in your own services
diff --git a/docs/custom-resolver-example.md b/docs/custom-resolver-example.md
index 6e8515d..30ce113 100644
--- a/docs/custom-resolver-example.md
+++ b/docs/custom-resolver-example.md
@@ -1,5 +1,6 @@
 [//]: # " "
 [//]: # " Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2021 Payara Services Ltd. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Public License v. 2.0, which is available at "
@@ -24,7 +25,7 @@
 This directory contains an example that illustrates how to write a custom injection resolver.
 
 A custom injector allow users to define their own injection annotation, or to customize in some way the system
-injection resolver that does the JSR-330 standard resolution.  In this example, we will define our own
+injection resolver that does the Jakarta DI standard resolution.  In this example, we will define our own
 injection resolver which customizes the JSR-300 standard one, but supplies the ability to get more information
 out of annotations on the parameter of a method.
 
@@ -57,7 +58,7 @@
 }
 ```
 
-The logger parameter of the receiveRequest method is just another service.  This service will come from the normal JSR-330
+The logger parameter of the receiveRequest method is just another service.  This service will come from the normal Jakarta DI
 resolver, but the other parameters will be determined from the HttpParameter annotation.  The determination of
 what the values should take comes from an object called the HttpRequest, which does nothing but store strings in certain indexes.
 The HttpRequest object itself is in the RequestScope context, which means its values will change depending on what request
@@ -106,7 +107,7 @@
 annotations that they themselves are defining to inject things into themselves.
 
 Implementations of [InjectionResolver][injectionresolver] that want
-to customize the default JSR-330 system provided injector can do so by injecting the default JSR-330 system provided
+to customize the default JSR-330 system provided injector can do so by injecting the default Jakarta DI system provided
 injector.  The AlternateInjectionResolver does just that:
 
 ```java
@@ -116,7 +117,7 @@
 }
 ```
 
-The system JSR-330 injection resolver is put into the registry with a specific name so that other injection resolvers
+The system Jakarta DI injection resolver is put into the registry with a specific name so that other injection resolvers
 can easily inject it using the @Named annotation.
 
 Now we need to write the resolve method from [InjectionResolver][injectionresolver].
@@ -186,7 +187,7 @@
 That is it for the implementation of our custom injection resolver!  Every time the HttpEventReceiver
 class is instantiated its receiveRequest method will be called with the values from the current
 HttpRequest.  The custom injection resolver was used to find the proper values in the HttpRequest and
-to convert them to the proper types.  The logger would come from the default JSR-330 resolver, since
+to convert them to the proper types.  The logger would come from the default Jakarta DI resolver, since
 it is not annotated with the HttpParameter annotation.
 
 ### The RequestScope Context
@@ -405,7 +406,7 @@
  with a fake HttpServer example, that takes requests from a fake network and passes values to services based on fields in the
  HttpRequest.  We have seen how the custom resolver can use data from annotations to further discover the values that should be
  given to the parameter.  We have seen how the proxiable request context is used to ensure that the underlying request can
- change from request to request.  We have shown how a custom resolver can customize the default JSR-330 provider.
+ change from request to request.  We have shown how a custom resolver can customize the default Jakarta DI provider.
 
 [context]: apidocs/org/glassfish/hk2/api/Context.html
 [injectionresolver]: apidocs/org/glassfish/hk2/api/InjectionResolver.html
diff --git a/docs/extensibility.md b/docs/extensibility.md
index cfb1488..92f3535 100644
--- a/docs/extensibility.md
+++ b/docs/extensibility.md
@@ -1,5 +1,6 @@
 [//]: # " "
 [//]: # " Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2021 Payara Services Ltd. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Public License v. 2.0, which is available at "
@@ -22,9 +23,10 @@
 
 ## Compatibility
 
-This page describes the features of the GlassFish HK2 2.0 API.  The Habitat API
-from version 1.x of HK2 has been replaced with a new interface called
-[ServiceLocator][servicelocator]. More information can be found [here][apioverview].
+This page describes the features of the GlassFish HK2 3.0 API.  The Habitat API
+from version 1.x of HK2 has been replaced with an interface called
+[ServiceLocator][servicelocator]. The references to javax.x in 2.x of HK2 have been replaced with jakarta.*.
+More information can be found [here][apioverview].
 
 ## Features of GlassFish HK2
 
@@ -242,9 +244,9 @@
 
 ## Custom Injection Resolvers
 
-By default the system provides JSR-330 standard injection.
-That means honoring [@Inject][javaxinject] and all other parts of the JSR-330 specification.
-However, it is sometimes the case that a user would like to customize the JSR-330 resolution in some manner,
+By default the system provides Jakarta Dependency Injection (DI) standard injection.
+That means honoring [@Inject][javaxinject] and all other parts of the Jakarta DI specification.
+However, it is sometimes the case that a user would like to customize the Jakarta DI resolution in some manner,
 or provide their own injection points based on a different annotation.
 
 In order to do so, the user implements [InjectionResolver][injectionresolver].
@@ -255,7 +257,7 @@
 with [InjectionPointIndicator][injectionpointindicator].  This annotation
 allows automatic analysis of classes using the custom [InjectionResolver][injectionresolver].
 
-This [example][custom-resolver-example] adds a custom injection resolver that customizes the default JSR-330 injection resolver.
+This [example][custom-resolver-example] adds a custom injection resolver that customizes the default Jakarta DI injection resolver.
 
 ### Just in Time Injection Resolver
 
@@ -314,11 +316,11 @@
 
 GlassFish HK2 often needs to look at a java class in order to find things about that class such as its set
 of constructors, methods or fields.  The choices GlassFish HK2 makes is usually determined by specifications
-such as JSR-330 or JSR-299.  However, in some cases different specifications make different choices,
-or the user of the GlassFish HK2 system may have some other scheme it would like to use in order to
+such as Jakarta DI or Jakarta Contexts and Dependency Injection (CDI).  However, in some cases different specifications
+make different choices, or the user of the GlassFish HK2 system may have some other scheme it would like to use in order to
 select the parts of class which GlassFish HK2 should manipulate.  For example, the JAX-RS specification
 requires the system to choose the constructor with the largest number of parameters (by default)
-while the JSR-299 specification requires the system to choose the zero-argument constructor
+while the Jakarta CDI specification requires the system to choose the zero-argument constructor
 or else fail.
 
 The GlassFish HK2 system allows the user to register named implementation of the [ClassAnalyzer][classanalyzer]
@@ -327,7 +329,7 @@
 that should be used to analyze the implementation class.
 
 GlassFish HK2 always adds an implementation of [ClassAnalyzer][classanalyzer] with the name "default" that implements
-the JSR-299 style of selection.
+the Jakarta CDI style of selection.
 
 ## Run Level Services
 
diff --git a/docs/introduction.md b/docs/introduction.md
index e6d2ce2..f7b4ec8 100644
--- a/docs/introduction.md
+++ b/docs/introduction.md
@@ -1,5 +1,6 @@
 [//]: # " "
 [//]: # " Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2021 Payara Services Ltd. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Public License v. 2.0, which is available at "
@@ -19,15 +20,15 @@
 
 # Introduction to GlassFish HK2
 
-This page describes the GlassFish HK2 2.0 API, which is based on JSR-330 standard annotations.
+This page describes the GlassFish HK2 3.0 API, which is based on Jakarta Dependency Injection (DI) standard annotations.
 Also, Habitat has been replaced with a new interface called [ServiceLocator][servicelocator].
 
 GlassFish HK2 is a declarative framework for services using annotations like [Contract][contract] and [Service][service].
-This page is intended to show simple usages of GlassFish HK2 mainly using the standard JSR-330 API.
+This page is intended to show simple usages of GlassFish HK2 mainly using the standard Jakarta DI API.
 
 For information about using the GlassFish HK2 programmatic API see [this page][api-overview].
 For information about GlassFish HK2 extensibility options see [this page][extensibility]
-For information about JSR-330 see [this site][jsr330].
+For information about Jakarta DI see [this site][jakartadi].
 
 This page assumes that you are using the GlassFish HK2 provided ability to automatically find and
 register services in an GlassFish HK2 registry.  For more information on how to control what services
@@ -121,7 +122,7 @@
 ## Basic Injection
 
 Lets make our example a little more interesting by injecting a book into Foo.  This is done using the
-JSR-330 standard [Inject][inject] annotation:
+Jakarta DI standard [Inject][inject] annotation:
  
 ```java
 @Service
@@ -355,7 +356,7 @@
  
 ## Conclusion
 
-The majority of usages of GlassFish HK2 should use standard JSR-330 annotations along with
+The majority of usages of GlassFish HK2 should use standard Jakarta DI annotations along with
 [@Service][service] and [@Contract][contract].
 In some cases code will also use [IterableProvider][iterableprovider] as outlined above.
 In even rarer cases the code may need extremely specialized control over GlassFish HK2 by using the
@@ -369,6 +370,7 @@
 [contract]: apidocs/org/jvnet/hk2/annotations/Contract.html
 [service]: apidocs/org/jvnet/hk2/annotations/Service.html
 [jsr330]: http://www.jcp.org/en/jsr/detail?id=330
+[jakartadi]: https://jakarta.ee/specifications/dependency-injection/
 [api-overview]: ./api-overview.html
 [extensibility]: ./extensibility.html
 [inject]: https://jakarta.ee/specifications/platform/8/apidocs/javax/inject/Inject.html
