NOVIDADES
Nesta página
- Novidades no 1.17
- Novidades no 1.16
- Novidades em 1.15.1
- Novidades no 1.15
- Novidades no 1.14
- Novidades no 1.13
- Novidades em 1.12.1
- Novidades no 1.12
- Novidades no 1.11
- Novidades no 1.10
- Novidades no 1.9
- Novidades no 1.8
- Novidades no 1.7
- Novidades no 1.6
- Novidades no 1.5
- Novidades no 1.4
- Novidades no 1.3
- Novidades na versão 1.2
- Novidades no 1.1
- Novidades no 1.0
Dica
Notas de versão
Para saber mais sobre alterações e atualizações entre versões, você pode ler as notas de versão publicado com o código-fonte do driver.
Descubra as novidades de cada versão:
Novidades no 1.17
Importante
v1.17 é o lançamento da versão 1.x final planejada. Esta versão receberá correções de segurança e bugs, mas o desenvolvimento e os recursos futuros serão incluídos somente nas versões 2.x do driver.
O 1.17 A versão do driver Go inclui as seguintes melhorias e correções:
Adiciona suporte para autenticação OpenID Connect (OIDC). Para saber mais, consulte a seção MONGODB-OIDC do guia Mecanismos de autenticação empresarial.
Adiciona suporte para queries de intervalo de Queryable Encryption (QE). Para usar esse recurso, seu aplicativo deve se conectar ao MongoDB Server 8.0 ou posterior. Para obter mais informações sobre queries de intervalo de QE, consulte Queryable Encryption no manual do MongoDB Server .
Adiciona suporte para o MongoDB Server 8.0, exceto para o recurso de escrita em massa do cliente .
Amplia o tipo
IndexView
para incluir os métodosDropOneWithKey()
eDropWithKey()
para que você possa descartar índices usando suas especificações de chave em vez de seus nomes.
Para obter mais informações sobre as alterações nesta versão, consulte as 1.17 notas de versão v no Github.
Novidades no 1.16
O 1.16 A versão do driver Go inclui as seguintes melhorias e correções:
Adiciona suporte para especificar um tipo de índice ao criar um índice de Atlas Search .
Reduz o uso de memória quando o algoritmo de compressão
zstd
está ativado.Atualiza alguns requisitos de dependência. Para obter uma lista de atualizações, consulte a seção "Dependências de atualização" das notas de versão v .1.16
Para obter mais informações sobre essas alterações, consulte as notas de versão v1.16 no Github.
Novidades em 1.15.1
O 1.15.1 A versão do patch do driver Go inclui as seguintes melhorias e correções:
Corrige um possível vazamento de conexão em que a desconexão de um cluster de conjunto de réplicas deixaa para trás
rttMonitor
conexões.Adiciona suporte para a especificação manual de um valor de
maxTimeMS
para operações de leitura e agregação quando um tempo limite para todo o cliente e um tempo limite de operação são definidos.Adiciona um método
RemainingBatchLength()
que você pode chamar em um fluxo de alteração.
Para obter mais informações sobre essas alterações, consulte as notas de versão v1.15.1 no Github.
Novidades no 1.15
O 1.15 A versão do driver Go inclui as seguintes melhorias e correções:
A rotatividade de conexão pode ser atenuada definindo um tempo limite em todo o cliente especificando a opção de conexão
timeoutMS
ou chamando a função SetTimeout(). Quando o tempo limite é definido, o driver tenta reutilizar uma conexão após o tempo limite de uma operação e aguarda até um segundo para verificar se a conexão pode ser reutilizada antes de fechá-la.Os eventos do pool de conexões incluem um campo
Duration
para medir a duração do checkout e o tempo total necessário para estabelecer uma conexão.
Novidades no 1.14
O 1.14 A versão do driver Go inclui as seguintes melhorias e correções:
As versões do Go anteriores à 1.18 não são mais suportadas.
No caso de um tempo limite tipo heartbeat, as operações em andamento são canceladas preventivamente.
As cadeias de conexão que incluem o prefixo
"mongodb+srv://"
podem conter letras maiúsculas no nome do host SRV.
Novidades no 1.13
O 1.13 A versão do driver Go inclui as seguintes melhorias e correções:
Registro para seleção de servidor e SDAM. Para saber mais sobre registro em log, consulte a documentação de Log .
Métodos do tipo
Collection
que permitem gerenciar índices de pesquisa de forma programática.Os eventos
event.CommandStartedEvent
eevent.CommandFinishedEvent
retornam o campoDatabaseName
. Esse campo também está incluído nos análogos do log de comandos.Em uma topologia fragmentada, ao selecionar um servidor para tentar novamente uma query malsucedida, o driver exclui o servidor usado para a tentativa inicial. Em vez disso, se houver mais de uma instância de
mongos
qualificada, o driver selecionará aleatoriamente uma. As instâncias não saudáveis são automaticamente excluídas da seleção.O streaming do SDAM é desabilitado por padrão no AWS Lambda e plataformas semelhantes de função como serviço (FaaS). Você pode habilitar o monitoramento usando a opção
serverMonitoringMode
de URI .
Novidades em 1.12.1
O 1.12 A versão do driver Go inclui as seguintes melhorias e correções:
O driver libera conexões ao encerrar uma sessão. Isso evita vazamento de conexões quando um usuário executa uma transação enquanto está conectado a um balanceador de carga.
O driver não lança um erro de tempo de execução quando você desordena um tipo de
bson.RawValue
vazio com um tipo inválido ou desordena um ponteironil
de uma instânciaReadConcern
.Definir
options.LogComponentAll
como o componente de log corretamente resulta na publicação de logs em todos os componentes.
Novidades no 1.12
Importante
Aviso de depreciação
Os métodos
mongo.NewClient()
eclient.Connect()
estão obsoletos. Você pode criar um cliente e conectá-lo em uma chamada usando o métodomongo.Connect()
.
Novos recursos do 1.12 A versão do driver Go inclui:
Queryable Encryption
Esta versão do driver adiciona compatibilidade para Queryable Encryption (QE). Para saber mais sobre os requisitos para usar o recurso QE, consulte a Tabela de compatibilidade do driver de Queryable Encryption.
O método ClientEncryption.CreateEncryptedCollection()
cria automaticamente chaves de criptografia de dados quando você cria uma nova coleção criptografada. Para saber como utilizar o recurso QE, consulte o Início rápido no manual do servidor.
Interface de registro em log
Agora você pode registrar eventos de gerenciamento de conexão e execução de comando usando a interface de log de LogSink
.
Para saber mais, consulte o guia básico de Logging.
Opções adicionais de ordenação de BSON
Esta versão do driver adiciona recursos ao pacote options
para especificar como o driver ordena e desordena o BSON.
O exemplo a seguir mostra como definir as opções BSON em seu Client
. As opções especificam os seguintes comportamentos:
O driver volta para as marcações de estrutura
json
se as marcações de estruturabson
estiverem ausentes.O driver desordena tipos de mapa Go
nil
como documentos BSON vazios.O driver ordena os tipos de fatia
nil
Go como arrays BSON vazias.
bsonOpts := &options.BSONOptions{ UseJSONStructTags: true, NilMapAsEmpty: true, NilSliceAsEmpty: true, } options.Client().SetBSONOptions(bsonOpts)
Para ver um exemplo completo de como especificar e implementar o tipo BSONOptions
, consulte a documentação da API.
Especificação simplificada de preocupação de gravação
Esta versão do driver simplifica a API WriteConcern
. Para saber mais sobre as mudanças, consulte Preocupação de gravação.
Alterações adicionais
Suporte para autenticação com funções AWS IAM no EKS.
Adição do método
Cursor.SetBatchSize()
para permitir a especificação do tamanho dos lotes buscados ao iterar por meio de um cursor.Adição do método
UnmarshalValue()
para permitir a desordenação dos valores de BSON ordenados com o métodoMarshalValue()
.
Novidades no 1.11
Importante
Atualize para a versão 1.11.9 ou posterior
As versões 1.11.0 até 1.11.2 do driver foram revertidas para versões anteriores devido a um bug que pode causar comportamento indefinido ao ler o campo Raw
em tipos de erro de banco de dados, por exemplo, CommandError
e WriteException
.
A versão 1.11.8 do driver foi revertida para uma versão anterior porque contém alterações destinadas à versão 1.12.1 de forma incorreta.
Atualize para a versão 1.11.9 ou posterior se estiver usando uma versão revertida do driver.
Novos recursos do 1.11 A versão do driver Go inclui:
Remoção de suporte para as versões 3 do MongoDB.5 e mais antigo.
Remoção de suporte para a versão 1.12 do Go e anteriores.
Melhorias na API e no comportamento de
Timeout
, incluindo:Lógica de repetição modificada para maior resiliência do aplicativo.
Auxiliar de erro
mongo.IsTimeout
estendido para detectar mais erros de tempo limite.Novos métodos GridFS que usam contextos em vez de usar
SetReadDeadline
eSetWriteDeadline
.
Redução das alocações de memória durante a execução da operação.
Correção do bug de sondagem SRV que impedia alterações nos registros SRV quando a string associada do MongoDB incluía um nome de usuário e uma senha.
Suporte para contas de serviçoGCP ao usar os Serviços de gerenciamento de chaves do GCP.
Melhorias na limpeza de recursos do lado do servidor ao usar as funções
Cursor.All
eSession.WithTransaction
.SERVICE_HOST
Especificação do parâmetro de autenticação Kerberos habilitada com a opção de string de conexãoauthMechanismProperties
.Saída do método
bson.Raw.String()
corrigida para o tipo JSON estendido para carimbos de data/hora quando o documento BSON contém um campo de carimbo de data/hora UTC.Resolução de conflitos ao tentar novamente fazer leituras com preocupação de leitura
"available"
ou"linearizable"
.
Novidades no 1.10
Importante
Atualize para a versão 1.10.1 ou superior
O driver 1.10.1 corrige um bug que pode causar corrupção de dados ao girar chaves de criptografia de dados criptografadas com uma chave mestra do cliente hospedada no Serviço de gerenciamento de chaves do Google Cloud ou no Azure Key Vault.
Novos recursos do 1.10 A versão do driver Go inclui:
Compatibilidade total com o MongoDB 6.0.
Suporte para novos recursos relacionados à criptografia Queryable Encryption, incluindo novas opções para criptografia automática e manual.
Suporte para a nova Biblioteca Compartilhada de Criptografia Automática, que substitui o processo
mongocryptd
. A biblioteca compartilhada exige uso do MongoDB v6.0 Enterprise ou posterior e dolibmongocrypt
1.5.0 ou posterior.suporte à criação de índice clusterizado.
Uma nova API e operações de entidade
ClientEncryption
para gerenciamento de chaves de criptografia.Uma opção de cliente
Timeout
para definir tempos limite de contexto padrão para cada operação enviada por meio desse cliente.Um patch para os dados padrão para
primitive.M
ouprimitive.D
ao decodificar tipos vazios.Suporte para codificação de tipos de chave de mapa atípicos para dados que podem ser desordenados em uma representação textual de si mesmos.
Otimizações de desempenho, incluindo:
Solicitações aprimoradas de documento completo para atualizações antes e depois em eventos de fluxo de alterações.
Geração aprimorada de PRN e UUID .
Redução do consumo de memória ao compactar mensagens de fio.
Suporte para solução de problemas encontrados com frequência.
Novidades no 1.9
Novos recursos do 1.9 A versão do driver Go inclui:
Mitigação aprimorada de tempestade de conexão.
Custom
opções para operações de agregação e fluxo de alterações.Let
opção na maioria dos comandos CRUD que especifica parâmetros para uso em uma expressão agregada.Let
deve ser um documento que mapeia os nomes de parâmetros para valores que são expressões constantes ou fechadas sem referências aos campos do documento. MongoDB v5.0 ou posterior é necessário.Novas funções de construtor que criam instâncias
Cursor
eSingleResult
a partir de documentos BSON ordenados e não-nulos.
Novidades no 1.8
Os novos recursos da versão do driver Go 1.8 incluem:
Compatibilidade total com o MongoDB 5.1.
Suporte para KMIP como provedor de KMS para CSFLE.
Pool de conexões de driver reprojetado para possibilitar tempos limite
Context
de baixa operação e para reduzir a rotatividade de conexão. As mudanças de comportamento incluem:A criação de uma nova conexão expira em
connectTimeoutMS
.No máximo, duas novas conexões podem ser estabelecidas ao mesmo tempo.
Remoção da linguagem opressiva e da linguagem de gênero desnecessárias na documentação, no código, nos testes e nos testes de especificações do driver Go.
Novidades no 1.7
Importante
Atualize para a versão 1.7.2 ou superior
O driver 1.7.2 O driver Go contém uma correção de bug para uma corrida de dados que pode ocorrer entre a criação e check-out de conexões quando minPoolSize > 0
.
Novos recursos do 1.7 A versão do driver Go inclui:
Total compatibilidade com o MongoDB 5.0.
Suporte para a preocupação de leitura
"snapshot"
fora de transações multidocumento para determinadas operações de leitura.Mensagens de erro
WriteException
eBulkWriteException
aprimoradas para validação de esquema relatadas pelo campoWriteError.Details
.
Novidades no 1.6
Importante
Atualize para a versão 1.6.2 ou superior
O driver 1.6.2 O driver Go contém uma correção de bug para uma corrida de dados que pode ocorrer entre a criação e check-out de conexões quando minPoolSize > 0
.
Novos recursos do 1.6 A versão do driver Go inclui:
Suporte para a API estável do MongoDB. Para obter mais informações, consulte o Guia da API estável.
Suporte para conexões com qualquer serviço MongoDB executado por trás de um balanceador de carga.
Suporte para criar coleções de séries temporais. Para obter mais informações, consulte o Guia sobre coleções de séries temporais.
Let
opção para expressões agregadas.
Novidades no 1.5
Novos recursos do 1.5 A versão do driver Go inclui:
Suporte para serviços de gerenciamento de chaves do Azure e do GCP com criptografia no nível do campo do lado do cliente.
Nova API de erros para detectar erros de chave duplicada, tempos limite e erros de rede.
Monitoramento de servidor para monitorar alterações em uma implantação do MongoDB.
Erros para evitar comportamentos inesperados em mapas que contêm várias chaves sendo usadas como uma opção de dica, como uma opção de classificação ou para a criação de índice.
Novidades no 1.4
Novos recursos do 1.4 A versão do driver Go inclui:
Compatibilidade total com o MongoDB 4.4.
Suporte para verificação OCSP grampeada e não grampeada.
Nova opção de URI
tlsDisableOCSPEndpointCheck=true
para desativar o envio de solicitações HTTP se o respondente OCSP não puder ser acessado pelo driver e não houver uma resposta grampeada.Contexto adicional para erros encontrados durante a desordenação do BSON.
Funções
Unwrap
adequadas para vários tipos de erro de driver.
Novidades no 1.3
Novos recursos do 1.3 A versão do driver Go inclui:
mgocompat
pacote que exporta um registro BSON compatível comglobalsign/mgo/bson
, que pode ser usado chamando o métodoClientOptions.SetRegistry
.RegisterTypeEncoder
e métodosRegisterHookEncoder
, que substituem o método obsoletoRegisterEncoder
. Uma alteração correspondente foi feita para substituirRegisterDecoder
.
Novidades na versão 1.2
Novos recursos do 1.2 A versão do driver Go inclui:
Suporte para CSFLE.
bson.MarshalValue
função, que ordena tipos Go para BSON.StringCodec
, que permite que campos sem string sejam decodificados em um campo String em uma estrutura.IntCodec
,UIntCodec
,BoolCodec
eFloatCodec
adicionados aomgocompat
para permitir que os codecs convertam entre números e booleanos.
Novidades no 1.1
Novos recursos do 1.1 A versão do driver Go inclui:
Compatibilidade total com o MongoDB 4.2.
Implementação de driver de nível inferior reprojetada para melhorar a capacidade de manutenção e o desempenho.
Especificações de monitoramento de conexão e pooling para monitorar vários eventos de conexão e pool de conexões com maior eficiência.
Novidades no 1.0
Esta versão não adiciona novos recursos.