---
schema_version: "1"
id: 2859eaae2ef5428556354a79ccf15a6897d9414f0beadcc0f95c9b089969cbe4
title: "Apex: New and Changed Items"
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/release-notes/264-0-0/rn_apex_nc.md
canonical_url: https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_nc.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 82de35bcd4707bb05c596931bd5923d9b7a0116124d8f56436afc0b5c8d672e1
description: These classes, enums, and interfaces are new or have changes.
products:
  - Cross Cloud
release: "264"
---
# Apex: New and Changed Items

These classes, enums, and interfaces are new or have changes.

For more information on these enhancements, see the [Apex Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/) and the [Apex Reference Guide](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/).

- **[Auth Namespace](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_nc.htm&release=264.0.0&type=5)**  
    The Auth namespace has these new and changed classes.
- **[ConnectApi Namespace](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_nc.htm&release=264.0.0&type=5)**  
    The ConnectApi namespace (Connect in Apex) has new or changed classes, methods, or enums.
- **[Database Namespace](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_nc.htm&release=264.0.0&type=5)**  
    The Database namespace has these new or changed classes, methods, interfaces, enums, or exceptions.
- **[ItSvcAssetDcvr Namespace](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_nc.htm&release=264.0.0&type=5)**  
    The IT Service Asset Discovery (ItSvcAssetDcvr) namespace has these new or changed classes.
- **[System Namespace](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_nc.htm&release=264.0.0&type=5)**  
    The System namespace has these new or changed classes, methods, interfaces, enums, or exceptions.
- **[SF\_Archive Namespace](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_nc.htm&release=264.0.0&type=5)**  
    The SF\_Archive namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

## Auth Namespace

The Auth namespace has these new and changed classes.

### New or Changed Constructors in Existing Classes

Implement the OAuth 2.0 Demonstrating Proof-of-Possession (DPoP) extension.

Use the `generateDPoPProofForToken` method to generate a DPoP proof JWT from a public-private key pair.

## ConnectApi Namespace

The ConnectApi namespace (Connect in Apex) has new or changed classes, methods, or enums.

Many Connect REST API resource actions are exposed as static methods on Apex classes in the `ConnectApi` namespace. These methods use other `ConnectApi` classes to input and return information. The `ConnectApi` namespace is referred to as _Connect in Apex._

For the new and changed ConnectApi classes, methods, and enums, see [ConnectApi (Connect in Apex): New and Changed Classes and Enums](https://help.salesforce.com/s/articleView?id=release-notes.rn_connect_in_apex.htm&release=264.0.0&type=5 "Create custom experiences in Salesforce using Connect in Apex.").

## Database Namespace

The Database namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

### New Classes

Provide query options for the SOQL SET OPTIONS clause.

Use the `Database.QueryOptions` and the `Database.QueryOptionsBuilder` classes. Use the `withDataspace`, `withHonorEmptyStrings`, and `withExplicitNamespace` builder methods.

## ItSvcAssetDcvr Namespace

The IT Service Asset Discovery (ItSvcAssetDcvr) namespace has these new or changed classes.

## System Namespace

The System namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

### New Classes

Get programmatic access to the individual components of a JWE (JSON Web Encryption) compact serialization token.

These are highlights in the new System.JweToken class. Use the `getAad()` method to get the Additional Authenticated Data used to authenticate the ciphertext. Use the `getAlgorithm()` method to get the key management algorithm from the JWE protected header. Use the `getCiphertext()` method to get the encrypted content (ciphertext). Use the `getEncryptedKey()` method to get the encrypted content encryption key (wrapped CEK). Use the `getEncryptionAlgorithm()` method to get the content encryption algorithm from the JWE protected header. Use the `getEphemeralPublicKey()` method to get the ephemeral public key from the JWE protected header. Use the `getIv()` method to get the initialization vector used to decrypt the ciphertext. Use the `getTag()` method to get the authentication tag used to verify ciphertext integrity. Use the `toString()` method to get a safe, non-sensitive string representation for debugging and logging.

### New or Changed Methods in Existing Classes

New System.Crypto methods enable Elliptic Curve (EC) key management and JSON Web Encryption (ECDH-ES specifically), and extend signing/verification to support EC algorithms.

`Limits.getDataCloudCursorRows`, `Limits.getLimitDataCloudCursorRows`, `Limits.getDataCloudCursors`, and `Limits.getLimitDataCloudCursors` are the new methods.

New System.Crypto methods enable Elliptic Curve (EC) key management and JSON Web Encryption (ECDH-ES specifically), and extend signing/verification to support EC algorithms.

Use the new `generateKeyPair()` method to generate a key pair blob for supported EC-based algorithms. Use the new `getPrivateKey()` and `getPublicKey()` methods to extract the private or public key from a generated key pair blob. Use the new encrypt() method to build a JWE token via ECDH-ES key agreement. To decrypt an existing JWE token, use the new parseJwe() method to retrieve its algorithm, encryption algorithm, ephemeral public key, and encrypted content encryption key, then use the new `decrypt()` method to decrypt the payload using ECDH-ES key agreement. Use the changed `sign()` and `verify()` methods to support EC algorithms, including signing with a private key or a certificate name.

## SF\_Archive Namespace

The SF\_Archive namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

### New or Changed Methods in Existing Classes

Mock Archive Apex so you can test your Apex without making a live callout to archived data.

Use the new `setMock(mock)` method in the `SF_Archive.ArchiverAccessor` class to register a mock response. Use the new `setBody(jsonBody)`, `setStatusCode(statusCode)`, and `setErrorMessage(errorMessage)` methods in the `SF_Archive.ArchiverAccessorResponse` class to define the mock response.