{******************************************************************************}
{ Projeto: Componentes ACBr                                                    }
{  Biblioteca multiplataforma de componentes Delphi para interao com equipa- }
{ mentos de Automao Comercial utilizados no Brasil                           }
{                                                                              }
{ Direitos Autorais Reservados (c) 2020 Daniel Simoes de Almeida               }
{                                                                              }
{  Voc pode obter a ltima verso desse arquivo na pagina do  Projeto ACBr    }
{ Componentes localizado em      http://www.sourceforge.net/projects/acbr      }
{                                                                              }
{  Esta biblioteca  software livre; voc pode redistribu-la e/ou modific-la }
{ sob os termos da Licena Pblica Geral Menor do GNU conforme publicada pela  }
{ Free Software Foundation; tanto a verso 2.1 da Licena, ou (a seu critrio) }
{ qualquer verso posterior.                                                   }
{                                                                              }
{  Esta biblioteca  distribuda na expectativa de que seja til, porm, SEM   }
{ NENHUMA GARANTIA; nem mesmo a garantia implcita de COMERCIABILIDADE OU      }
{ ADEQUAO A UMA FINALIDADE ESPECFICA. Consulte a Licena Pblica Geral Menor}
{ do GNU para mais detalhes. (Arquivo LICENA.TXT ou LICENSE.TXT)              }
{                                                                              }
{  Voc deve ter recebido uma cpia da Licena Pblica Geral Menor do GNU junto}
{ com esta biblioteca; se no, escreva para a Free Software Foundation, Inc.,  }
{ no endereo 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.          }
{ Voc tambm pode obter uma copia da licena em:                              }
{ http://www.opensource.org/licenses/lgpl-license.php                          }
{                                                                              }
{ Daniel Simes de Almeida - daniel@projetoacbr.com.br - www.projetoacbr.com.br}
{       Rua Coronel Aureliano de Camargo, 963 - Tatu - SP - 18270-170         }
{******************************************************************************}
{******************************************************************************
|* ACBrDFeComum
|*
|* PROPSITO: Registro de Alteraes
******************************************************************************}

Smbolo : Significado

[+]     : Novo recurso
[*]     : Recurso modificado/melhorado
[-]     : Correo de Bug (assim esperamos)


01/03/2023
-- ACBrDFeSSL/ACBrDFeWebService --
[+] Acrescentado a propriedade ValidateReturnCode para no gerar uma Exception
    quando o cdigo estiver fora da faixa 200..202
  Por: Italo Giurizzato Junior

15/02/2023
-- ACBrDFeSSL --
[*] Revertido a alterao, pois poderia gerar um efeito colateral nos demais
    componentes.
  Por: Italo Giurizzato Junior

01/02/2023
-- ACBrDFeSSL/ACBrDFeWebService --
[*] Alteraes visando atender o consumo de API Rest.
  Por: Italo Giurizzato Junior
-- Diversos --
[+] Includo o parmetro sBCC (com cpia oculta) no mtodo EnviarEmail em diversos
    componentes.
  Por: Alex Heinen

30/12/2022
-- ACBrDFeXsLibXml2 --
[*] Remoo de Warnings e Hints.
  Por: Italo Giurizzato Junior

13/12/2022
[*] TK-3390 ACBrDFE - Remoo Create / Default LT_ALL - LT_TLSv1_2
  por : Victor H Gonzales - Pandaaa

30/11/2022
-- ACBrXmlDocument --
[*] Includo uma diretiva de compilao para tratar o LocalName para quando
    for Delphi ou Lazarus.
  Por: Italo Giurizzato Junior

09/11/2022
-- ACBrXmlBase --
[*] Includo o prefixo "nfse:" na lista de prefixos a serem removidos do XML.
  Por: Italo Giurizzato Junior

07/11/2022
-- ACBrDFeUtil --
[*] Includo um novo parmetro que determina se deve ou no gerar uma exception,
    e tambm antes de buscar a cidade por cdigo  validado a UF presente no cdigo.
  Por: Italo Giurizzato Junior/Victor H Gonzales

05/09/2022
-- ACBrXmlBase --
[*] Alterado a leitura de Horrio, para ler corretamente HH:MM (sem os segundos)
  Por: Italo Giurizzato Junior

10/08/2022
-- ACBrDFeUtil --
[+] Adicionado funo DataHoraTimeZoneModoDeteccao - Converte o DateTime do Sistema para o TimeZone configurado, para evitar divergncia de Fuso Horrio em comparao de datas de DFes.
   por: Jos M S Junior

05/07/2022
-- ACBrDFeUtil --
[*] Inclui um segundo parmetro na funo GerarCodigoDFe visando atender a
    NF3e e na funo GerarChaveAcesso tambm. 
  Por: Italo Giurizzato Junior

31/05/2022
-- ACBrNFeNotasFiscais --
[*] Adicionado tag cMunFG na seo Identificao da leitura do .INI, compatibilizando com a estrutura Sefaz, porm mantendo compatibilidade.
   Por: Jos M S Junior

25/05/2022
-- ACBrXmlBase --
[*] Incluida o enumerado tcDatUSA para ler datas no formato
    MM/DD/YYYY.
   Por: Italo Giurizzato Junior

29/03/2022
-- Diversos --
[*] Remoo de Warnings e Hints.
   Por: Italo Giurizzato Junior

25/03/2022
-- Diversos --
[*] Remoo de Warnings e Hints.
   Por: Italo Giurizzato Junior

23/03/2022
-- ACBrXmlBase --
[*] Incluida a remoo do caracter "T" na funo:
    EncodeDataHora.
   Por: Renato Rubinho

16/03/2022
-- ACBrXmlBase --
[*] Incluida a remoo dos caracteres #10 e #13 na funo:
    RemoverCaracteresDesnecessarios.
   Por: Italo Giurizzato Junior

15/03/2022
-- ACBrXmlBase --
[+] Incluso da funo EncodeDataHora que tem por finalidade converter uma 
    data/hora em string em TDateTime.
   Por: Italo Giurizzato Junior

10/03/2022
-- ACBrXmlBase --
[-] Correo na leitura de horrio que retorna hora com apenas 1 digito em vez de 2.
   Por: Italo Giurizzato Junior

04/03/2022
-- ACBrXmlWrite --
[*] Especificado um valor padro para a quebra de linha.
   Por: Italo Giurizzato Junior
-- ACBrXmlBase --
[*] Melhorias na leitura de datas e checagem de horarios no formato 24h e 12h (PM/AM).
   Por: Italo Giurizzato Junior

02/03/2022
-- ACBrXmlBase --
[-] Correo na leitura de uma data no formato AAAA/MM/DD estava lento /D em 
    vez de DD.
   Por: Italo Giurizzato Junior

28/02/2022
-- ACBrXmlBase --
[*] Incluido mais sequencia de Escape a serem removidos do XML na funo:
    RemoverCaracteresDesnecessarios.
   Por: Italo Giurizzato Junior

28/01/2022
-- ACBrXmlBase --
[+] Criado o tipo TACBrTipoEncoding e a funo TipoEncoding com
    a finalidade de identificar o Encoding do XML.
   Por: Italo Giurizzato Junior

21/01/2022
-- ACBrXmlBase --
[*] A funo LerDatas no estava previso uma data no formato AAAAMMDD.
    Ajuste foi feito para reconhecer esse formato tambm.
   Por: Italo Giurizzato Junior

13/01/2022
-- ACBrXmlBase --
[+] Incluso do tipo: TACBrTipoEmissao e das funes:TipoEmissaoToStr,
    StrToTipoEmissao, TipoAmbienteToStr e StrToTipoAmbiente.
   Por: Italo Giurizzato Junior

04/01/2022
-- ACBrXmlBase/ACBrXmlWrite --
[*] Ajustes para suportar valores Int64.
   Por: Italo Giurizzato Junior

30/12/2021
-- ACBrXmlBase --
[*] Alterao na funo StrToXml para trocar o <br> por ;
   Por: Italo Giurizzato Junior

20/12/2021
-- ACBrXmlBase --
[*] Alterao do nome da funo de ProcessarConteudoXml para ObterConteudoTag.
   Por: Italo Giurizzato Junior
-- ACBrXmlReader --
[*] Alterao do nome da funo de ProcessarCNPJCPF e ProcessarConteudo para 
    ObterCNPJCPF e ObterConteudo respectivamente.
   Por: Italo Giurizzato Junior

17/12/2021
-- ACBrDFeConfiguracoes --
[*] Ajuste em "TWebServicesConf.LerParamsIniServicos", para ficar mais amigvel
    em ambientes Multi-Thread
    (por: DSA)

16/12/2021
-- ACBrXmlBase --
[+] Implementado a leitura de atributos em um XML.
  Por: Italo Giurizzato Junior

08/12/2021
-- ACBrXmlBase --
[*] Possvel correo para o AV que ocorria ao ler uma tag numrica ausente no XML.
  Por: Italo Giurizzato Junior

07/12/2021
-- ACBrXmlBase/ACBrXmlDocument --
[*] Melhoria na leitura de valores decimais.
  Por: Italo Giurizzato Junior

11/11/2021
-- ACBrXmlBase --
[*] Melhoria na leitura de data de competencia.
  Por: Italo Giurizzato Junior

10/11/2021
-- ACBrXmlBase --
[*] Possvel correo para a leitura de data de competencia.
  Por: Italo Giurizzato Junior

03/11/2021
-- ACBrDFeUtil/ACBrDFeXsLibXml2 --
[*] Substituio da funo LerTagXML por SeparaDados.
  Por: Italo Giurizzato Junior

21/10/2021
-- ACBrXmlBase --
[*] Ao ler um campo data o seu conteudo vai ser passado pela funo LerDatas
    que tem como objetivo interpretar os varios tipos de formatao de data/hora.
  Por: Italo Giurizzato Junior

28/09/2021
-- ACBrXmlDocument --
[*] Possvel correo para o vazamento de memria.
  Por: Italo Giurizzato Junior

27/09/2021
-- ACBrXmlBase --
[*] Incluido o tratamento para quando existe no XML o caractere #9 usado por 
    alguns provedores.
  Por: Italo Giurizzato Junior

24/09/2021
-- ACBrXmlBase --
[*] Incluido o tratamento para quando existe no XML o caractere "<br >" usado por 
    alguns provedores para quebra de linha.
  Por: Italo Giurizzato Junior

11/09/2021
-- ACBrXmlBase --
[*] Trocado o StringReplace por FastStringReplace.
  Por: Italo Giurizzato Junior

10/09/2021
-- ACBrDFeReportFortes --
[*] https://www.projetoacbr.com.br/forum/topic/63913-gerar-pdf-danfe-fortesreport-via-iis/?tab=comments#comment-417640
  Por: edv4ld0

09/03/2021
-- ACBrXmlBase/ACBrXmlDocument/ACBrXmlWriter/ACBrXmlReader --
[+] Incluso da Unit ACBrXmlBase para tormar as outras 3 units idenpendentes das
    Units PCN.
  Por: Rafael Dias/Italo Giurizzato Junior

24/12/2020
-- ACBrDFeSSL --
[*] Ajuste em "TDFeSSLHttpClass.Enviar", para exibir as informaes do Retorno
    (por: DSA)

13/11/2020
-- ACBrDFeUtil --
[+] Incluido a funo ObterDFeXML que extrai o XML de um DF-e de um XML informado.
-- ACBrXmlWriter --
[*] Remoo de warnings.
  Por: Italo Giurizzato Junior

12/11/2020
-- ACBrDFeSSL, ACBrDFeWebService --
[+] Adicionado o parmetro ""AuthorizationHeader", no mtodo "Enviar"
    https://www.projetoacbr.com.br/forum/topic/60033-nfse-em-bragana-paulista/

-- ACBrDFeReportFortes --
[*] Ajuste para permitir a leitura de imagens em formato PNG e JPG, se a IDE permitir
    https://www.projetoacbr.com.br/forum/topic/60096-wrong-format-invalid-danfe/

14/09/2020
-- ACBrDFeWinCrypt --
[-] Revertendo diretiva para funcionamento correto em Lazarus.
    https://www.projetoacbr.com.br/forum/topic/59332-n%C3%A3o-lista-certificados-store-windows/?do=findComment&comment=389520&_rid=775
  Por: Antonio Tota

02/09/2020
-- ACBrDFeWinCrypt --
[*] Ajuste em "CalcHash" e "ValidarHash", para inicializar o contedo do Buffer do Hash
    https://www.projetoacbr.com.br/forum/topic/59104-problema-com-certificado-remoteid/
    (por: DSA)

22/07/2020
-- ACBrXmlDocument --
[+] Incluso do mtodo ImportXml e da propriedade OuterXml.
  Por: Rafael Dias

27/05/2020
-- ACBrDFeWinCrypt --
[-] Correo para remover o terminador #0 no retorno dos mtodos "CertSubjectName" 
    e "CertIssuerName".
  Por: BigWings / DSA

-- ACBrDFeOpenSSL --
[*] Ajuste para que o mtodo "CertDataVenc" retorne a hora ajustada para o
    fuso horrio da mquina.
  Por: BigWings

14/05/2020
-- ACBrDFeXsMsXmlCapicom --
[-] Correo para erro 'Conjunto de chaves no est definido' quando usando
    certificados A3.
    (por: BigWings)

13/05/2020
-- ACBrDFeHttpOpenSSL, ACBrDFeSSL --
[-] Correo para exibir Erros no relacionados a transmisso
    (por: Bigwings e DSA)

07/05/2020
-- ACBrDFeUtil --
[-] Correao no mtodo: "EncontrarURI", quando "docElement", no for informado
    https://www.projetoacbr.com.br/forum/topic/57466-erro-cancelamento-nfs-betha/

28/04/2020
-- ACBrDFeSSL --
[*] Melhoria na rotina de Download do Certificado por URLPFX
    - Adicionada verificao do cdigo de retorno HTTP
    - Adicionada verificao da integridade do Certificado baixado
    - Adicionada verificao do CNPJ, do novo Certificado
    O Certificado antigo, somente ser substituido, se as condies acima foram
    vlidas e o Faltarem menos de 10 dias para o vencimento do Certificado em
    ArquivoPFX
    (por: DSA)

13/04/2020
-- ACBrXmlDocument --
[-] Correo na passagem de parametros do mtodo: AddChild.
   Por: Italo  Jurisato Junior

01/04/2020
-- ACBrDFeUtil --
[*] Mtodos "ObterCodigoMunicipio" e "ObterNomeMunicipio", modificados para usar
    o componente ACBrIBGE, e no a antiga e obsoleta listas de TXT de cidades
    (por: DSA)

31/03/2020
-- ACBrDFeCapicom --
[*] Ajustes para compatibilizar com ltimo refactoring
    (por: DSA)

30/03/2020
-- ACBrDFe, ACBrDFeConfiguracoes --
[+] Adicionada a propriedade "Configuracoes.Certificados.URLPFX: String"
    Permite informar uma URL, para Download de um Certificado PFX (A1)
    - O URL ser chamada com o mtodo GET, e deve ser um Link para download
      direto ao arquivo (URLs com redirecionamentos podem no funcionar)
    - Aps o arquivo ser baixado, se a propriedade Configuracoes.Certificados.ArquivoPFX,
      tambm estiver especificada, uma cpia Local ser salva, e usada na prxima
      carga do certificado
      - Um novo download ser efetuado, quando a Data de Vencimento do Certificado
        atingir 15 dias para expirar.
        - A tentativa de baixar um novo certificado ocorrer apenas uma vez por dia

-- ACBrDFeSSL, ACBrDFeOpenSSL, ACBrDFeWinCrypt --
[*] TDFeSSLCryptClass, e TDFeSSL, refatorao nas rotinas internas, de
    Carga do Certificado
[+] TDFeSSLHttpClass, refatorao e adicionada as Propriedades:
    DataReq: TMemoryStream -> Stream com Dados a serem enviados na requisio
    HeaderReq: THttpHeader -> StringList com Header a serem includos na requisio
    DataResp: TMemoryStream -> Stream com Dados da resposta
    HeaderResp: THttpHeader -> StringList com Header da resposta
    URL: String -> URL que ser ussada na requisio
    Method: String -> Mtodo que ser ussada na requisio (GET, POST, etc)
    SoapAction: String -> Informao do SoapAction (apenas se for necessrio), para incluso no Header de requisio
    MimeType: String -> Informao do MimeType, para incluso no Header de requisio
    LastErrorDesc: String -> Retorna a Descrio do ltimo Erro

[+] TDFeSSLHttpClass, adicionado as Metodos:
    procedure HTTPMethod(const AMethod, AURL: String); -> Informa o Mtodo e a URL e Executa a requisio
    procedure Execute; -> Executa a requisio
    procedure Clear; -> Limpa da memria, todos os dados enviados e recebidos

[+] TDFeSSL, Adicionada a propriedade: "URLPFX: String"
[+] TDFeSSL, Adicionado os mtodos:
    procedure HTTPMethod(const AMethod, AURL: String);
    function HTTPGet(const AURL: String): AnsiString;
    function HTTPPost(const ADataToSend: AnsiString; const AURL: String): AnsiString;

[-] TDFeSSL.SetSSLCryptLib, correo para evitar A.V., quando atribuindo um
    Modelo desativado por diretiva de compilao

09/02/2020
-- ACBrDFe --
[*] Diversos ajustes para compatibilizar com a compilao em Delphi FMX,
    Android e Linux

-- ACBrDFeOpenSSL --
[*] Ajuestes para mensagens de erros fiquem em Resourcestring.
[*] Mtodo TDFeOpenSSL.Versao modificado para sinalizar erro na carga das Libs,
    quando houver

-- ACBrLibXml2 --
[+] Nova Unit de Bind da biblioteca libxml2, substituindo o uso da Unit "libxml2.pas"
    Permitindo a Carga dinmica da Biblioteca, e compatibilizao com Android FMX

-- ACBrDFeXsLibXml2 --
[*] Modificado para usar a nova Unit de Bind "ACBrLibXml2.pas"

-- ACBrDFeXsXmlSec --
[*] Unit depreciada. Ajustada para continuar usando a antiga "libxml2.pas"
    (por: DSA)

23/01/2020
-- ACBrDFeSSL --
[+] Classe TDFeSSLCryptClass, Adicionado o mtodo: "function Versao: String;"
    - Retorna o nmero da verso da bibiolteca de Criptografia

-- ACBrDFeWinCrypt, ACBrDFeOpenSSL --
[+] Adicionado suporte ao mtodo TDFeSSLCryptClass.Versao

-- ACBrDFeOpenSSL --
[-] Possvel correo no mtodo "GetCertExt", quando usando OpenSSL 1.1.1
   https://www.projetoacbr.com.br/forum/topic/55859-erro-access-violation-ao-atualizar-openssl-11/
   (por: DSA)

15/01/2020
-- ACBrDFeReport --
[+] TACBrDFeReport, adicionada a propriedade "FormularioContinuo: Boolea default False",
    que foi migrada de TACBrNFeDANFEClass
    (por: DSA)

30/12/2019
-- ACBrDFeUtil -- 
[*] https://www.projetoacbr.com.br/forum/topic/47753-notas-de-exporta%C3%A7%C3%A3o-ind-obrigando-campo-nre/?do=findComment&comment=363645
   Por: Fernando Bolson

10/10/2019
-- ACBrDFeReport --
[-] Correo no mtodo SetPathPDF, para considerar Paths sem PathDelimiter no final
[*] Se o Nome do Arquivo for informado em PathPDF, ele ser aproveitado e atribuido
    para a propriedades "NomeArquivo", e PathPDF ficar apenas com o Path
[*] Se o Path for informado em "NomeArquivo", ele ser extraido e movido para
    a propriedade "PathPDF"
[*] Se o nome do arquivo estiver sem extenso, ser incluido '.pdf'
    (por: DSA)

09/10/2019
-- ACBrDFeSSL --
[-] Correo para quando trocar o tipo de certificado zerar a propriedade do tipo anterior para que o carregamento do novo certificado ocorra corretamente.
    (por: Rafael Dias)

04/10/2019
-- ACBrDFeReport --
[*] Ajuste no mtodo SetPathPDF, para considerar apenas o Path
    (por: DSA)

04/09/2019
-- ACBrDFeUtil, ACBrDFeSSL --
[*] Mtodo ExtraiURI, renomeado para EncontrarURI, e otimizado para considerar
    a URI dentro de docElement

-- ACBrDFeXsLibXml2 --
[*] Melhoria no mtodo "LibXmlFindSignatureNode", para encontrar a assinatura em
    XMLs com identao ou espaos

-- ACBrDFeXsXmlSec --
[-] Correo de varivel no definidano no mtodo "Assinar"
[-] Correo em "VerificarAssinatura", para considerar corretamente os parmetros
    "SignatureNode" e "SelectionNamespaces"
    (por: DSA)

03/09/2019
-- ACBrDFeXsLibXml2 --
[-] Corrigido erro ao assinar xml do provedor Ginfes.
   (Por: Rafael Teno Dias)

21/09/2019
-- ACBrDFeUtil --
[+] Incluido as funes: CalcularHashDados e CalcularHashArquivo, 
    com objetivo de calcular o Hash de um arquivo passado como Stream ou lido do arquivo
    mais uma string que pode ser a chave de um DF-e.
    Podemos utiliza-las para gerar o hashEntrega do evento de Comprovante de Entrega
  Por: DSA

14/08/2019
-- ACBrDFeXsXmlSec --
[*] Acrescentado o parmetro docElement no mtodo:
    TDFeSSLXmlSignXmlSec.XmlSecSign.
  Por: Italo Jurisato Junior

29/07/2019
-- ACBrDFeUtil --
[*] Se informado cdigo menor ou igual a -2 a chave ser gerado com 
    cdigo igual a zero, antes estage gerando uma excesso.
  Por: Italo Jurisato Junior

24/07/2019
-- ACBrDFeUtil --
[*] Removido da a funo ValidarCodigoDFe bem como a sua chamada ao 
    gerar a chave de acesso.
  Por: Italo Jurisato Junior

27/06/2019
-- ACBrDFeConfiguracoes --
[+] Implementado a classe que contem as propriedades de Download utilizadas
    pelo mtodo DistribuicaoDFe, acrescentado a funo GetPathDownloadEvento.
   Por: Italo Jurisato Junior

24/06/2019
-- ACBrDFeXsLibXml2 --
[-] Corrigido erro ao assinar lote com RPS contendo assinatura.
   (Por: Rafael Teno Dias)

14/06/2019
-- ACBrDFeUtil --
[-] Ficou faltando um "not" no IF que chama a funo que valida o cdigo do 
    documento fiscal
  Por: Italo Jurisato Junior

14/06/2019
-- ACBrDFeUtil --
[+] Adicionado as funes:
      function GerarCodigoDFe(AnDF: Integer): integer;
      function ValidarCodigoDFe(AcDF, AnDF: Integer): Boolean;
    responsveis por gerar e validar o cdigo do documento fiscal.
    A validao leva em considerao a regra B03-10 publicada na
    NT 2019/001.
  Por: Italo Jurisato Junior

28/05/2019
-- ACBrDFeConfiguracoes --
[*] Ajustando os campos do proxy no ini para ficar compativel com o ACBrLib.
   (Por: Rafael Teno Dias)

24/05/2019
-- ACBrDFeXsLibXml2 --
[-] Correo no mtodo "CanonC14n", para usar todos os atributos de NameSpace
    especificados no N Root do XML
    https://www.projetoacbr.com.br/forum/topic/51135-notablu-assinatura-difere-do-calculado-no-cancelamento/

[-] Ajuste no mtodo "AdicionarNode", para funcionar com Tags com prefixo (:)
    (por: DSA, e Italo Jurisato Jr)

13/05/2019
-- ACBrDFeSSL --
[-] Correo no mtodo: TDFeSSLXmlSignClass.AdicionarSignatureElement, que no
    removia o final do XML, ao adicionar o Grupo de Assinatura...

-- ACBrDFeXsLibXml2 --
[-] Mtodo "TDFeSSLXmlSignLibXml2.AdicionarNode", corrigido para adicionar
    Grupo de Assinatura, dentro do Grupo "docElement"
    (por: DSA)

26/04/2019
-- ACBrDFeXsLibXml2 --
[*] Otimizao de desempenho, no mtodo Assinar
    https://www.projetoacbr.com.br/forum/topic/50751-bloco-x-estoque-lentido-ao-gerarxml/
    (Por: Rafael Teno Dias e DSA)

27/03/2019
-- ACBrDFeUtil --
[*] Ajuste para transformar o resultado do Hash em Base64.
   Por: Italo Jurisato Junior

20/01/2019
-- ACBrDFeWinCrypt --
[-] Ajuste para remoo de Chars NUL, no retorno do Hash da Assinatura
    https://www.projetoacbr.com.br/forum/topic/48899-emisso-de-nfe-com-certificado-na-nuvem-remoteid/

03/01/2019
-- ACBrDFeXsXmlSec --
[*] Melhoria no codigo de assinatura e remoo de codigo no utilizado.
    (Por: Rafael Teno Dias)

02/01/2019
-- ACBrDFeXsLibXml2 --
[*] Correo no metodo de assinatura do da LibXml2 quando a URI  vazia.
    (Por: Rafael Teno Dias)

24/12/2018
-- ACBrDFeXsLibXml2, ACBrDFeXsXmlSec --
[*] Otimizaes para melhor velocidade na Assinatura e Verificao de assinatura
    (Por: Rafael Teno Dias e DSA)

17/12/2018
-- ACBrDFeXsLibXml2 --
[*] Melhoria na rotina de empacotamento do XML, removendo xPath (por: Rafael Teno Dias)
https://www.projetoacbr.com.br/forum/topic/48096-melhorias-na-rotina-de-formata%C3%A7%C3%A3o-do-xml-com-a-libxml2-removido-xpath/

06/12/2018
-- ACBrDFeConfiguracoes --
[*] Ajustes nos mtodos LerIni e GravarIni (por: DSA)

29/10/2018
-- ACBrDFeSSL --
[-] Correao de A.V. quando ocorria um Exception na transmisso HTTP e TimeOutPorThread
    estava ativo.
    https://www.projetoacbr.com.br/forum/topic/47120-tratamento-de-erro-na-execuo-de-tdfesendthread/
[*] Ajuste para que Vrios componentes DFe, possam fazer transmisso simultaneamente
    https://www.projetoacbr.com.br/forum/topic/47126-d%C3%BAvida-sobre-critical-section-em-m%C3%A9todo-de-envio-tdfessl/
    (por: DSA)

10/10/2018
-- ACBrDFeConfiguracoes --
[*] Ajuste dos mtodos "CalcSSLLib" e "SetSSLLib" para definir o padro para
    a propriedade "SSLXMLSignLib" conforme as diretivas do ACBr.inc.
  Por: BigWings

18/09/2018
-- ACBrDFeConfiguracoes --
[*] Alterado o nome do campo Salvar (Arquivo INI de configurao) por
    SalvarGer, SalvarArq e  SalvarWS, pois existem 3 propriedades de
    configurao chamada Salvar e estava ocorrendo sobreposio ao
    incluir essa propriedade no arquivo INI de configurao.
   Por: Italo Jurisato Junior

08/08/2018 
-- ACBrDFeUtil --
[*] Alterado a linha que trata o CNPJ passado na funo GerarChaveAcesso, para
    que possa gerar chave com o CPF em vez de CNPJ.
   Por: Italo Jurisato Junior 

06/08/2018 
-- ACBrDFeUtil --
[*] Migrado a procedure LerIniArquivoOuString para classe ACBrUtil, devido utilizao fora 
    das classes do DFe. 

17/07/2018
-- ACBrDFe, ACBrDFeWebService --
[+] Adicionado o evento, TACBrDFe.OnTransmit.

    TACBrDFeOnTransmit = procedure(const Dados, URL, SoapAction, MimeType: String;
    var Resposta: String; var HTTPResultCode: Integer; var InternalErrorCode: Integer) of object ;

    Ao programar esse evento, a aplicao utilizar seu prprio meio de
    transmisso segura, e nesse caso, a rotina de transmisso de TDFeSSL no
    ser utilizada.

21/06/2018
-- ACBrDFe --
[*] Ajuste no mtodo "EnviarEmail" para que os anexos sejam includos com o 
    parmetro "Content-disposition" como "attachment", devido a problemas de
    visualizao em alguns clientes de e-mail.
    (por: BigWings)

14/06/2018
-- ACBrDFeXsLibXml2 --
[-] Correo no mtodo "SelectElements", para funcionar quando tem namespace na tag.
    (por: Rafael Dias)

12/06/2018
-- ACBrDFeWinCrypt --
[*] Ajuste no mtodo "PFXDataToCertContextWinApi", para funcionar em Windows XP
    (por: DSA)

06/06/2018
-- ACBrDFeSSL, ACBrDFeHttpWinApi --
[-] Correo de A.V. quando usando httpWinINet, httpWinHttp e
    TimeOutPorThread = True

-- ACBrDFeHttpWinApi --
[-] Correo na exibio de mensagens de Erro com acentos
    (por: DSA)

30/05/2018
-- ACBrDFeSSL --
[-] Ajuste em TDFeSendThread, para evitar A.V. em algumas situaes
    (por: DSA)

02/04/2018
-- ACBrDFeConfiguracoes --
[*] Ajuste no mtodo "CalcSSLLib" para definir corretamente a propriedade 
    quando SSLXmlSignLib for xsLibXML2.
    (por: BigWings)

16/03/2018
-- ACBrDFeXsLibXml2 --
[-] Correo da assinatura do lote das NFSe.
    (por Rafael Dias)
[+] Melhoria no carregamento dos schemas para validao da Xml.
    (por Rafael Dias)

14/03/2018
-- ACBrDFeConfiguracoes, ACBrDFeSSL --
[*] Ajuste para commit do dia 06/03/2018, considerando que o suporte a OpenSSL
    ou LibXML2 estejam desativados

06/03/2018
-- ACBrDFeConfiguracoes --
[*] TGeralConf.SSLLib, modificado para que quando tiver o valor "libWinCrypt",
    assuma a seguinte configurao:
        SSLCryptLib := cryWinCrypt;
        SSLHttpLib := httpWinHttp;
        SSLXmlSignLib := xsLibXml2;
    Modificando o uso de xsMsXml para xsLibXml2
    (por: DSA)

[+] Adicionada a propriedade: "TWebServicesConf.TimeOutPorThread: Boolean default False".
    Se ativa o ACBrDFe, usar uma Thread para medir o Tempo total de transmisso
    e abandonar a conexo quando o TimeOut ocorrer... Isso pode ajudar em uma
    medio mais acurada, do tempo de Timeout...

[-] Mtodo: "TWebServicesConf.Assign", corrigido para copiar todas as propriedades
[*] Mtodos "LerIni" e "GravarIni", modificados para salvar o valor de "TimeOutPorThread"

-- ACBrDFeSSL --
[+] Classe "TDFeSSLHttpClass", adicionado o mtodo "Abortar". Que permite
    interromper uma conexo HTTP em andamento...
[+] Adicionada a classe "TDFeSendThread", para permitir o funcionamento da
    propriedade "TWebServicesConf.TimeOutPorThread"
[*] Mtodo "TDFeSSL.Enviar", modificado para funcionar de acordo com o valor de
    "TWebServicesConf.TimeOutPorThread"

-- ACBrDFeHttpOpenSSL, ACBrDFeHttpWinApi, ACBrDFeHttpIndy --
[+] Implementado suporte ao mtodo "Abortar"
    (Por Andr Moraes e DSA)

05/03/2018
-- ACBrDFeXsLibXml2 --
[-] Remoo de warnings.
    (por Waldir)

01/03/2018
-- ACBrDFe --
[*] Visibilidade dos mtodos: "NomeServicoToNomeSchema" e "AchaArquivoSchema",
    modificada de Public para Protected
[*] Mtodo "AchaArquivoSchema", modificado para Zerar a lista de Schemas carregados
    na memria, sempre que detectar mudanas em: "Configuracoes.Arquivos.PathSchemas"
[+] Adicionados os mtodos Protected
    function ExtrairVersaoNomeArquivoSchema(ArqSchema: String): String; virtual;
    function VersaoSchemaDoubleToString(AVersao: Double): String; virtual;
    function VersaoSchemaStringToDouble(AVersao: String): Double; virtual;
    Para permitir a sobrecarga em classes que usem uma numerao de Schema
    diferente do padro

-- ACBreSocial --
[+] Implementado sobrecarga nos mtodos "VersaoSchemaDoubleToString" e
    "VersaoSchemaStringToDouble" para conseguir encontrar corretamente as
    verses nos arquivos de Schema do eSocial
    (por: DSA)

27/02/2018
-- ACBrDFeHttpOpenSSL --
[-] Melhorias na definio de TimeOut de Conexo
    (por: Andr Moraes e DSA)
-- ACBrDFeWinCrypt --
[*] Remoo de constantes no necessrias
    (por: DSA)

26/02/2018
-- ACBrDFeXsLibXml2 --
[-] Corrigido bug de assinatura do xml quando a URI  vazia.
    https://www.projetoacbr.com.br/forum/topic/41682-assinatura-a3-e-a1-instalado-na-m%C3%A1quina/
    (por Rafael Dias e Paulo Aguiar Junior)

15/01/2018
-- ACBrDFeSSL --
[+] Adicionado suporte as diretivas {$DEFINE DFE_SEM_MSXML} e {$DEFINE DFE_SEM_INDY}
    (por Waldir e DSA)

14/02/2018
-- ACBrDFeUtil --
[*] Remo de funes em duplicidade e a troca das chamadas das funes antigas
    pelas novas
   Por: Italo Jurisato Junior

09/02/2018
-- ACBrDFeUtil --
[*] Mtodo: "ObterCodigoMunicipio" / "ObterNomeMunicipio" Ajustes nas classes ACBrDFe para validao e utilizao 
    desta funcionalidade na Gerao do XML. Validando a propriedade "NormatizarMunicipios" e o path com os arquivos de Municpios IBGE.

04/02/2018
-- ACBrDFeWebService --
[-] Mtodo: "TDFeWebService.EnviarDados": Correo para no tentar converter para
    UTF8, caso no seja um XML
    https://www.projetoacbr.com.br/forum/topic/39786-nfse-provedor-ipm-guaramirim-e-massaranduba-sc/?do=findComment&comment=271851

31/01/2018
-- ACBrDFeSSL --
[+] Adicionado o mtodo:
   function CalcHMAC( const BinaryString: AnsiString;
      const AKey: AnsiString;
      const Digest: TSSLDgst): AnsiString;
   (por: DSA)

17/01/2018
-- ACBrDFe --
[*] Melhoria na tratativa de erro em "LerServicoDeParams", quando no encontrar
    linha no INI com a URL do Servio
    (por: BigWings)

09/01/2017
-- ACBrDFeConfiguracoes --
[*] Ajustes para que TConfiguracoes.Owner possa ser Nulo
    (por: DSA)

08/01/2017
-- ACBrDFeConfiguracoes --
[+] Adicionado os mtodos:
    GravarIni( const AIni: TCustomIniFile );
    LerIni( const AIni: TCustomIniFile );
    Que permitem Gravar e Ler os valores de todas as configuraes de
    "TConfiguracoes" em um arquivo INI
[+] Classe "TWebServicesConf", adicionada a propriedade "SSLType", que permite
    repassar a configurao para "TACBrDFe.SSL.SSLType"
    (por: DSA)

28/12/2017
-- ACBrDFeXsLibXml2 --
[*] Diversos ajustes de String x AnsiString
[*] Limpeza e reviso dos fontes..
[-] Correo de Memory Leak em TDFeSSLXmlSignLibXml2.CanonC14n
[-] Correo no mtodo "VerificarAssinatura", para conferir se houve alteraes
    no contedo do XML, comparando o "DigestValue"
    (por: DSA)

26/12/2017
-- ACBrDFeXsMsXml --
[-] Correo para assinatura de Certificados A1, quando ProviderType = 24
    "The Cryptographic Service Provider Type 24 is not supported"
    (por: DSA)

20/12/2017
-- ACBrDFeXsLibXml2, ACBrDFeXsXmlSec --
[*] Metodos de assinatura refatorado para usar apenas mtodos da LibXml.
[+] Adicionado o novo mtodo "ACBrDFeXsLibXml2.LibXmlEstaAssinado" para verificar se o xml est assinado.
[*] ACBrDFeXsXmlSec esta herdando agora de ACBrDFeXsLibXml2 para evitar cdigo repetidos.

04/12/2017
-- ACBrDFeSSL, ACBrDFeOpenSSL, ACBrDFeWinCrypt --
[+] Adicionado novo mtodo "TDFeSSL.ValidarHash".
   function ValidarHash( const AStringList : TStringList;
       const Digest: TSSLDgst;
       const Hash: AnsiString;
       const Assinado: Boolean =  False): Boolean; overload;
   Que permite verificar Hashs, Assinados ou no, gerados pelo comando "CalcHash"
   (por: Rafael Dias)

[+] Adicionada Unit: ACBrDFeXsLibXml2.pas, contendo nova classe para Assinatura
    e verificao de XML, usando apenas a LibXML2 (no depende da LibXMLSec).
    A classe "TDFeSSLXmlSignLibXml2", implementa os mtodos de "TDFeSSLXmlSignClass":
    "Assinar", "Validar", "VerificarAssinatura"; e ser instanciada quando
    TDFeSSL.SSLXmlSignClass = "xsLibXml2".
    Compatvel com OpenSSL e WinCrypt, poder usar Certificados A1 e A3.
    Eliminando em definitivo a dependencia da MSXML (TDFeSSLXmlSignMsXml)
   (por: Rafael Dias e DSA)

27/10/2017
-- ACBrDFeSSL, ACBrDFeXsMsXml, ACBrDFeXsXmlSec, ACBrDFeXsMsXmlCapicom --
[*] Classe "TDFeSSLXmlSignClass", adicionado o parmetro "IdAttr" nos mtodos:
    AdicionarSignatureElement, Assinar e VerificarAssinatura.

-- ACBrDFeUtil --
[*] Mtodo "ExtraiURI", nome do parmetro "IdSignature" modificado para "IdAttr"
    (por: Renato Rubinho)
    https://www.projetoacbr.com.br/forum/topic/38501-acbrreinf-fontes/?do=findComment&comment=260051


23/10/2017
-- ACBrDFeWebService --
[*] Ajuste no mtodo: "TDFeWebService.EnviarDados"... para no verificar a validade
    do certificado dentro do Loop
    (por: DSA)

-- ACBrDFeHttpOpenSSL, ACBrDFeHttpWinApi --
[*] Mtodo "Enviar". Ajuste para capturar o contedo do retorno do Servidor,
    antes da validaao do HTTPResultCode.
    https://www.projetoacbr.com.br/forum/topic/39428-obter-retorno-do-webservice-em-caso-de-erro-http-400-ou-500/

08/09/2017
-- ACBrDFeSSL, ACBrDFeXsMsXml, ACBrDFeXsXmlSec --
[*] Mtodo "TDFeSSLXmlSignClass.VerificarAssinatura", modificado para receber
    como parmetro: IdSignature: String = '' (ficando igual ao mtodo "Assinar")
    Isso permitir a verificao de assinaturas que usa um padro de ID diferente
    de "Id"
[+] Adicionado a propriedade "SSLDgst: TSSLDgst", para permitir que o mtodo
    "Assinar" gere assinaturas dgstSHA256

-- ACBrDFeXsXmlSec --
[*] Mtodos "Assinar" e "VerificarAssinatura" modificados para fazer uso do
    parmetro "IdSignature".

-- ACBrDFeUtil --
[*] Mtodo "SignatureElement" modificado para receber como parmetro extra
    "Digest: TSSLDgst = dgstSHA1". Isso permite gerar templates de assinatura
    para SHA256
[*] Mtodo "ExtraiURI" modificado para receber como parmetro extra
    "IdSignature: String = ''". Isso permite diferente tipos de ID como por
    exemplo: "Id", "id", etc
    (por: DSA)

30/08/2017
-- ACBrDFeOpenSSL --
[+] Adicionado suporte a Logs de Debug da Synapse, que podem ser ligados com
    a diretiva {$Define SYNADEBUG}

-- ACBrDFeXsMsXml --
[-] Detectado problemas na assinatura gerada, em algumas raras situaes.
    Provavelmente o problema se deve ao uso do objeto "IXMLDigitalSignatureEx"
    Mtodo "Assinar" modificado, para usar o objeto "IXMLDigitalSignature",
    ficando compatvel com o utilizado em ACBrDFeXsMsXmlCapicom.

-- ACBrDFeXsXmlSec --
[+] Mtodo "XmlSecSign" modificado para exibir mais informaes de erro, no caso
    de falha da Assinatura
    (por: DSA)

21/08/2017
-- ACBrDFeWinCrypt --
[-] Correo para remover o numero de Srie do Certificado, de "CertificadosA3ComPin",
    quando Descarregar o Certificado.
    http://www.projetoacbr.com.br/forum/topic/38349-problemas-com-pin-a3-assinatura-de-xml/
    (por: DSA)

16/08/2017
-- ACBrDFeWebService --
[*] Metodo "TDFeWebService.EnviarDados", ajuste para verificar a Validade do
    Certificado, mesmo quando configurado para usar DadosPFX ou ArquivoPFX
    (por: DSA)

25/07/2017
-- Diversos --
[*] Correes visando o provedor NotaBlu.
    Por: Augusto Fontana

14/07/2017
-- ACBrDFe --
[*] Refatorao do mtodo "EnviarEmail" para usar o recurso recem implementado de
    ACBrMail, para adio de lista de Emails em um comando.
    (por: DSA)

07/07/2017
-- ACBrDFeConfiguracoes --
[-] Correo em "TArquivosConf.Assign", onde o Objeto "OrdenacaoPath" no era
    duplicado, mas sim copiado por referncia, causando A.V. na liberao de
    Objetos copiados.
    (por: DSA)

26/06/2017
-- ACBrDFeConfiguracoes --
[+] Adicionada a propriedade "TArquivosConf.OrdenacaoPath", que permite definir
    a ordem de criao dos subdiretrios. Mantm a compatibilidade da ordem
    anterior, por motivo de compatibilidade, e respeitando as propriedades:
    SepararPorCNPJ, SepararPorModelo, SepararPorAno/Mes/Dia, AdicionarLiteral
    http://www.projetoacbr.com.br/forum/topic/35456-salvar-xml-em-diret%C3%B3rio-di%C3%A1rio/?do=findComment&comment=244884
    (por: -=MaoS=- e BigWings)

21/06/2016
-- ACBrDFeSSL --
[+] Adicionada a propriedade TDadosCertificado.ThumbPrint

-- ACBrDFeWinCrypt, ACBrDFeOpenSSL --
[+] Adicionado o mtodo "GetThumbPrint".
[*] Mtodo "GetCertInfo" modificado para preencher "DadosCertificado.ThumbPrint"
    (por: DSA)

14/06/2017
-- ACBrDFeConfiguracoes --
[*] Classe "TArquivosConf", adicionada a propriedade: "SepararPorAno".
[*] Mtodo "GetPath", modificado para suportar a propriedades "SepararPorAno"
    http://www.projetoacbr.com.br/forum/index.php?showtopic=35456

09/06/2017
-- ACBrDFeConfiguracoes --
[*] Mtodo "GetPath", modificado para permitir que a Descrio do Modelo seja
    informada pelo mtodo chamador. Isso permite que a Descrio do modelo seja
    definida, pelo contedo do XML a ser Salvo e no apenas pelo Modelo configurado
    no componente.
    (por: DSA)

05/06/2017
-- ACBrDFeOpenSSL, ACBrDFeWinCrypt --
[-] Acerto na leitura do CNPJ quando no est no CN, em alguns casos havia lixo 
    no inicio da string o que fazia com que os 2 ultimo digitos do CNPJ fossem 
    perdidos
    (por: regys.silveira)

24/05/2017
-- ACBrDFeSSL --
[-] Correo em "TDFeSSL.Assinar", para repor corretamente a Declarao do XML,
    caso a mesma seja desprezada por "AjustarXMLAssinado", por no ser UTF8

-- ACBrDFeWinCrypt --
[*] Mtodo: "GetCSPProviderInfo" renomeado para "GetProviderInfo", e refatorado
    para suportar Certificados CNG
[*] Mtodo: "MsgErroGetCryptProvider", mensagem de erro por falha de hardware do
    certificado melhorada para melhor clareza
[+] Implementado cdigo do mtodo: "GetCNGProviderParamString"

-- ACBrDFeXsMsXml --
[*] Mtodo: "VerificarAssinatura", correo na exibio da acentuao das
    mensagens de Erro de assinatura
[*] Mtodo: "Assinar". Melhor documentao das duas formas de como proceder com
    a assinatura (Antiga, usada na CAPICOM e Atual)
    (por: DSA)

-- ACBrDFeXsXmlSec --
[-] Mtodo "Assinar", correo para assinar corretamente XMLs com acentos, e sem
    a sesso de Declarao de Encoding
    (por: DSA)

19/05/2017
-- ACBrDFeSSL --
[*] Ajuste para no usar Documentos que no o CNPJ, do "SubjectName". Pois
    alguns Certificados de empresas EPP, trazem o CPF no final do Nome.
    (A leituta do CNPJ/CPF ser feita pelas Extenses do Certificado)
    (Por: DSA)

28/04/2017
-- ACBrDFeWinCrypt --
[*] Ajuste em "SetCertContextPassword", para no disparar erros desconhecidos na
    atribuio de senha para "PP_SIGNATURE_PIN"
    http://www.projetoacbr.com.br/forum/topic/36266-falha-ao-definir-pin-do-certificado-erro-80100004/
    (por: DSA)

-- ACBrDFeConfiguracoes --
[*] Modificada a visibilidade de varivel Private, "TArquivosConf.FConfiguracoes"
    para "TArquivosConf.fpConfiguracoes", Protected
    (por: DSA)

22/04/2017
-- ACBrDFe --
[*] Mtodo "EnviarEmail", adicionado o parmetro "ReplyTo: TStrings"
    http://www.projetoacbr.com.br/forum/topic/36261-acbrnfe-erro-envio-de-e-mail-com-mensagem/?do=findComment&comment=238100
    (por Maurcio Sareto e DSA)

19/04/2017
-- ACBrDFeWinCrypt --
[*] Mtodo "SetCertContextPassword", ajuste para que no seja disparado Exception,
    quando o retorno for (000003F0 hex = 1008 decimal = ERROR_NO_TOKEN)

-- ACBrDFeXsMsXml --
[-] Ajustes nas chamadas de "CoInitialize", para que funcione com multiplas Threads
    (por: DSA)

-- ACBrDFe --
[*] Mtodo "LerServicoDeParams", modificao para permitir mltiplos redirecionamentos
    http://www.projetoacbr.com.br/forum/topic/36328-m%C3%BAltiplos-redirecionamentos-usar-no-lerservicodeparams/
    (por: BigWings)

-- ACBr_NCrypt --
[*] Unit modificada, para usar carga dinmica, e assim evitar problemas no
    Windows XP
    http://www.projetoacbr.com.br/forum/topic/36219-ncryptdll-faltando-no-xp/
    (por: DSA)

17/04/2017
-- ACBrDFeCapicom --
[-] Mtodo "CarregarCertificado", ajuste na chamada de "CoInitialize"
    http://www.projetoacbr.com.br/forum/topic/24934-erro-de-coinitialize-na-emiss%C3%A3o-de-nfe-usando-thread/#comment-237508

13/04/2017
-- ACBrDFeWinCrypt --
[-] Correo para no atribuir Senha para certificados A3, de uma segunda
    instncia do ACBrNFe, que utilize o mesmo certificado.
    (por: DSA)

12/04/2017
-- ACBrDFeWinCrypt --
[*] Ajuste para compilao com a diretiva "DFE_SEM_NCRYPT", para permitir o
    suporte a Windows XP (por: DSA)

-- ACBr_NCrypt --
[*] Ajuste para efetuara carga da DLL com "Delayed", caso a diretiva "USE_DELAYED"
    esteja ligada, e o compilador suporte carga tardia.. (por: Waldir Paim)
    http://www.projetoacbr.com.br/forum/topic/36219-ncryptdll-faltando-no-xp/?do=findComment&comment=237206

10/04/2017
-- ACBrDFeWinCrypt --
[-] Ajustes para possvel correo de Certificados compatvel apenas com "CNG"
    que causavam o erro "NTE_BAD_PROV_TYPE - 0x80090014", durante a carga do
    Certificado.
    http://www.projetoacbr.com.br/forum/topic/36017-provedor-de-criptografia/?do=findComment&comment=236710
    (por: DSA)

04/04/2017
-- ACBrDFeCapicom --
[-] Correo no mtodo "GetCNPJFromExtensions", onde ocorria o erro:
    "Parmetro Incorreto"  (por: DSA)

03/04/2017
-- ACBrDFeCapicom, ACBrDFeWinCrypt --
[-] Possvel correo para o erro "Erro Thread da crypt32", quando usando
    "cryCapicom"
-- ACBrDFeWinCrypt --
[*] Ajuste no mtodo "GetCNPJFromExtensions", quebrando-o em vrios, para permitir
    a leitura de diferentes extenses
-- ACBrDFeOpenSSL --
[-] Correo na interpretao do contedo das extenses do certificado, corrigndo
    problemas de leitura de CPF/CNPJ de alguns certificados
    (por: DSA)

27/03/2017
-- ACBrDFeXsXmlSec --
[*] Remoo da dependencia de "libxslt". (por Waldir Paim)
    http://www.projetoacbr.com.br/forum/topic/35775-sugest%C3%A3o-limpeza-dos-uses-de-algumas-units/?do=findComment&comment=234842

25/03/2017
-- ACBrDFeHttpOpenSSL, ACBrDFeHttpIndy --
[*] Ajuste para usar a definio MimeType, comforme recebido pela rotina chamadora

-- ACBrDFeHttpWinApi --
[*] Ajuste para disparar exceptions, caso o HTTPResultCode no seja 200,201,202

-- ACBrDFeSSL --
[*] Ajuste para que o MimeType padro, caso nenhum tenha sido informado contenha
    instruo de UTF8 'application/soap+xml; charset=utf-8'

24/03/2017
-- ACBRDFeWinCrypt --
[-] Correo em "PFXDataToCertContextWinApi", que  usada por
    "CarregarCertificado", quando informado o certificado por: "ArquivoPFX" ou
    "DadosPFX". Para que seja possvel carregar Certificados com nmero de srie,
    menor do que 16   (por: DSA)
    http://www.projetoacbr.com.br/forum/index.php?showtopic=35805

22/03/2017
-- ACBrDFeSSL --
[*] Ajustes em "Clear", para evitar problemas quando ocorre a troca de
    SSLCryptLib via cdigo.

-- ACBRDFeWinCrypt --
[*] Ajustes em "CarregarCertificado", para priorizar a busca do certificado por
    "DadosPFX" seguido de "ArquivoPFX" e depois "NumeroSerie"
    (por: DSA)

19/03/2017
-- ACBrDFeSSL --
[*] Amplo refactoring promovido, separando a classe "TDFeSSLClass" em 3 novas
    classes:
    "TDFeSSLCryptClass" - para Carregar certificados e efetuar criptografia
    "TDFeSSLHttpClass" - para comunicao HTTP/HTTPS com suporte a Certificados
    "TDFeSSLXmlSignClass" - Para Validar XMLs, validar assinaturas e Assinar XML
                            com Certificados
[+] "TSSLLib", adicionado os tipos "libWinCrypt, libCustom"
[+] Criada nova classe "TDadosCertificado", para conter os dados do
    certificado carregado
[+] Criada nova classe "TListaCertificados",para conter uma lista de Objetos
    do tipo TDadosCertificado, com todos os certificados de uma "Store", e aps
    a chamada do mtodo "TDFeSSL.LerCertificadosStore"
[+] Adicionada propriedade "TDFeSSL.StoreName: String", usada apenas no Windows.
    Nome da Store a ser aberta, padro "MY"
[+] Adicionada propriedade "TDFeSSL.StoreLocation: TSSLStoreLocation", usada
    apenas no Windows. Default "slCurrentUser".
    TSSLStoreLocation = (slMemory, slLocalMachine, slCurrentUser, slActiveDirectory, slSmartCard);
[+] Adicionado o mtodo: "TDFeSSL.LerCertificadosStore", apenas Windows, para
    carregar todos os Certifcados de "TDFeSSL.StoreName" para a lista de Objetos:
    "TDFeSSL.ListaCertificados"
[+] Adicionado a propriedade "TDFeSSL.DadosCertificado", para permitir acesso
    aos dados do certificado carregado
[+] Adicionada a propriedade "TDFeSSL.SSLCryptLib: TSSLCryptLib" default cryNone;
    para definir a classe de criptografia
    TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt);
[+] Adicionada a propriedade "TDFeSSL.SSLHttpLib: TSSLHttpLib" default httpNone;
    para definir a classe de comunicao HTTP/HTTPS
    TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy);
[+] Adicionada a propriedade "TDFeSSL.SSLXmlSignLib: TSSLXmlSignLib" default xsNone;
    para definir a classe de assinatura de validao de XML
    TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom);
[+] Adicionada a propriedades "TDFeSSL"SSLType: TSSLType" default LT_all;
    para permitir definir o tipo de criptografia em HTTPS sendo:
    TSSLType = (LT_all, LT_SSLv2, LT_SSLv3, LT_TLSv1, LT_TLSv1_1, LT_TLSv1_2, LT_SSHv2)
    suportado apenas em TDFeHttpOpenSSL e TDFeHttpWinHttp

-- ACBrDFeConfiguracoes --
[+] Adicionada as propriedades:
    property SSLCryptLib: TSSLCryptLib
    property SSLHttpLib: TSSLHttpLib
    property SSLXmlSignLib: TSSLXmlSignLib
[*] Propriedade "SSLLib: TSSLLib" passou a ser virtual, e mantida por
    compatibilidade. Ajusta-la ir produzir ajustes em "SSLCryptLib",
    "SSLHttpLib" e "SSLXmlSignLib". Exemplo:
    if SSLLib = libOpenSSL then
    begin
      SSLCryptLib := cryOpenSSL;
      SSLHttpLib := httpOpenSSL;
      SSLXmlSignLib := xsXmlSec;
    end;

-- ACBrDFe --
[+] Adicionado suporte a configuraes de "SSLCryptLib", "SSLHttpLib",
    "SSLXmlSignLib"

-- ACBrDFeOpenSSL --
[*] Amplo refactoring. Removido cdigo referente a comunicao HTTP/HTTPs
    que foi migrado para "ACBrDFeHttpOpenSSL"
[*] Removido cdigo referente a assinatura digital e Validao de XML,
    que foi migrado para "ACBrDFeXsXmlSec"

-- ACBRDFeWinCrypt --
[+] Nova Unit, para manipular Certificados do Windows e efetuar assinatura
    digital, usando a Win API WinCrypt (MSCrypto/CAPI)

-- ACBrDFeCapicom --
[*] Refactoring, para usar boa parte do cdigo de "ACBRDFeWinCrypt"

-- ACBrDFeHttpOpenSSL --
[+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementao da
    classe de TDFeSSLHttpClass para comunicao http e https, usando a Synapse
    e OpenSSL

-- ACBrDFeHttpWinApi --
[+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementao da
    classe de TDFeSSLHttpClass para comunicao http e https, usando as APIs do
    Windows WinHttp ou WinINet

-- ACBrDFeHttpIndy, ACBrDFeCapicomDelphiSoap --
[*] Unit renomeada de "ACBrDFeCapicomDelphiSoap" para "ACBrDFeHttpIndy", e
    refatorada para no depender da CAPICOM

-- ACBrDFeXsXmlSec --
[+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementao da
    classe de TDFeSSLXmlSignClass usando a Lib XMLSEC

-- ACBrDFeXsMsXml --
[+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementao da
    classe de TDFeSSLXmlSignClass usando a Lib MSXML

-- ACBrDFeXsMsXmlCapicom --
[+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementao da
    classe de TDFeSSLXmlSignMsXml usando a Lib MSXML e CAPICOM

-- ACBrDFeException --
[+] Adicionado o exception "EACBrDFeExceptionNoPrivateKey"

-- ACBrDFeUtil --
[+] Adicionado o mtodo "SignatureElement: String"
    (por DSA)

08/03/2017
[+] Adio do separador por dia dos documentos em pastas
    http://www.projetoacbr.com.br/forum/topic/35456-salvar-xml-em-diretrio-dirio/
    (por: Juliomar Marchetti)
		
07/02/2017
-- ACBrDFeConfiguracoes --
[+] Adicionada a propriedade Geral.IdentarXML: Boolean default False
    (por: DSA)

24/01/2017
-- ACBrDFeUtil --
[*] Rafatorao dos mtodos: "ValidaDIRE" e "ValidaRE", aplicando simplificao
    de cdigo, e retornando "False", se houver caracteres no numricos
    (por: DSA)

23/12/2016
-- ACBrDFeOpenSSL --
[+] Adicionada a propriedade "SSLType: TSSLType default LT_all", podendo ser:
    (LT_all, LT_SSLv2, LT_SSLv3, LT_TLSv1, LT_TLSv1_1, LT_TLSv1_2, LT_SSHv2)

-- ACBrDFe --
[-] Correo de Bug em "LerServicoChaveDeParams". No era capaz de ler a URL do
    Servio com a maior verso existente.
    (por: DSA)

13/12/2016
-- ACBrDFeOpenSSL, ssl_openssl_lib --
[*] Melhoria no tempo de carga do OpenSSL.
[*] Correo na ordem de liberao de Objetos em "VerificarAssinatura"
    http://www.projetoacbr.com.br/forum/index.php?showtopic=33811
    (por: Waldir Paim)

19/11/2016
-- ACBrDFeOpenSSL --
[*] Melhorada a deteco de TimeOut na conexo com o Servidor HTTP
    http://www.projetoacbr.com.br/forum/topic/20518-nfce-timeout/

23/10/2016
-- ACBrDFeOpenSSL --
[*] Modificada a implementao dos mtodos: "GetSubjectName" e "GetIssuerName",
    para usar o mtodo do OpenSSL "X509_NAME_print_ex", a fim de resolver
    problemas de detectao de Encoding em alguns certificados  (por: DSA)

22/10/2016
-- ACBrDFeOpenSSL --
[*] Implementada a leitura de CPF por Extenses do Certificado (por: DSA)

21/10/2016
[-] DANFE NFSe Fortes
    Acerto feito pelo Mrcio para no utilizar Datasets

17/10/2016
-- ACBrDFeOpenSSL --
[*] Incluido uma verificao para remover se necessrio algum prefixo de infElement
    ao executar a funo: XmlSecFindSignatureNode.
   Alguns provedores de NFS-e tem prefixos em algumas TAGs.
   por: Italo Jurisato Junior

14/10/2016
-- ACBrDFeSSL --
[-] Correes no mtodo "AjustarXMLAssinado".
    - Caso a Tag <X509Certificate> no fosse encontrada, o Certificado X509 era
      inserido no inicio do XML
    - Remoo indevida de espaos no XML, aps a tag "</KeyInfo>"

-- ACBrDFeCapicom --
[-] Correo na exibio de memsagem de Erro

-- ACBrDFeOpenSSL --
[+] Adicionado o mtodo: "LerX509Info", que permite ler as informaes do
    certificado, atravs do contedo da Tag <X509Certificate>
[*] Mtodos "LerPFXInfo" tornado pblico
[+] Nova Propridade publica: "Certificado: pX509"
    (por: DSA)

26/09/2016
-- ACBrDFeSSL, ACBrDFeOpenSSL, ACBrDFeCapicom --
[+] Adicionada as propriedades:
    CertIssuerName: String -> Retorna Emissor do Certificado
    CertCertificadora: String -> Retorna o Nome da Certificadora. Exemplos:
    "AC VALID" e "AC Certisign".   (por: Leonardo Gregianin)
    http://www.projetoacbr.com.br/forum/index.php?showtopic=32553

13/09/2016
-- ACBrDFe, ACBrDFeSSL --
[+] Adicionado o evento "OnAntesDeAssinar: TDFeSSLAntesDeAssinar", que permite a
    aplicao, controlar o processo de assinatura, usando por exemplo, algum
    utilitrio externo para a assinatura. Se o valor de "ConteudoXML" for
    modificado pela aplicao, o TDFeSSL no tentar assinar o documento
    internamente.  (por: DSA)

18/07/2016
-- ACBrDFeOpenSSL --
[*] Incluido o cdigo 202 na checagem do ResultCode, uma vez que o provedor
    retorna 202 em vez de 200 como resposta ao Envio.
   por: BigWings

05/07/2016
-- ACBrDFeSSL --
[*] Remoo de uma varivel definida e no utilizada.
   por: Italo Jurisato Junior

01/07/2016
-- ACBrDFeOpenSSL --
[*] Adicionado mtodos internos para busca de ns a fim de melhorar a deteco
    do n a ser assinado e o n de assinatura, a fim de suportar os diversos 
    tipos de XMLs da NFSe (por: DSA)

24/06/2016
-- ACBrDFeSSL --
[*] Mtodo "AjustarXMLAssinado" modificado para remover Declarao de XML sem
    UTF8  (por: DSA)

-- ACBrDFeOpenSSL --
[*] Ajuste para permitir a assintura sem informar o parmetro "infElement".
    Nesse caso, a assinatura ser procurada no ultimo n do Documento Raiz
    (por: DSA)

13/06/2016
-- ACBrDFeSSL --
[*] Mtodo: "Assinar", ajuste para usar Declaralo anterior do XML, apenas se
    a mesma for compatvel com UTF8
[*] Mtodo: "AjustarXMLAssinado", modificado para remover Espaos apenas do
    Elemento de Assinatura, e no de todo final do XML, aps a Tag de assinatura;
    Modificado para permitir informar o Certificado DER_Base64 que constar na
    Assinatura (usado por OpenSSL)
[*] Mtodos "Validar", "VerificarAssinatura", modificados para presumir que o
    XML de entrada, sempre estar em UTF8

-- ACBrDFeOpenSSL --
[-] Correo para correta assinatura de XML com Certificados da "SOLUTI" (por: DSA)
    http://www.projetoacbr.com.br/forum/index.php?showtopic=30247
[*] Mtodo: "XmlSecSign", modificado para conseguir achar a assinatura em XMLs
    com tag "nfeProc" como Raiz
[*] Mtodos "Validar", "VerificarAssinatura", modificados para presumir que o
    XML de entrada, sempre estar em UTF8
[*] Mtodo: "LerPFXInfo", modificado para extrair o Certificado no formato
    DER_Base64, (o mesmo ser utilizado na Tag de Assinatura)

-- ACBrDFeCapicom --
[*] Mtodos "Validar", "VerificarAssinatura", modificados para presumir que o
    XML de entrada, sempre estar em UTF8

12/02/2016
-- ACBrDFeSSL, ACBrDFeCapicom, ACBrDFeOpenSSL, ACBrDFeCapicomDelphiSoap --
[*] Removida a propriedde "UseSSL"
[*] Removida a propriedde "UseCertificate"
[+] Adicionada a propriedade "UseCertificateHTTP", que permite informar se a
    conexo HTTP precisa do Certificado A1 ou A3. Essa propriedade no ir
    influenciar o mtodo "Assinar", que SEMPRE exigir o certificado. (por: DSA)

16/03/2016
-- ACBrDFeOpenSSL --
[*] Mtodo "VerificarAssinatura": Ajuste para retorno de mensagem de erro,
    quando a Assinatura do XML  invlida    (por: DSA)

-- ACBrDFeWebService --
[-] Mtodo: "SalvarEnvio", correo para converso de XML para UTF8, quando o
    mesmo no foi previamente assinado     (por: DSA)

11/03/2016
*-- ACBrDFeOpenSSL --
[*] Modificada a rotina de inicializao de XMLSec, para suportar diretiva de
    compilao "USE_DELAYED"
[-] Corrigida falha na verificao de assinatura com notas Processadas "nfeProc"
    (por: DSA)

08/03/2016
-- ACBrDFeSSL, ACBrDFeCapicom, ACBrDFeOpenSSL, ACBrHTTPReqResp --
[*] Ajustes para o correto funcionamento, quando a propriedade
    DFeSSL.UseCertificate = False          (por: DSA)

-- ACBrDFeCapicom --
[-] Correo no ajuste do Proxy, quando informando valores vazios   (por: DSA)

-- ACBrDFeOpenSSL --
[-] Correo de encoding nas mensagens de Erro de "VerificarAssinatura"  (por: DSA)

07/03/2016   
-- ACBrDFeCapicom, ACBrDFeCapicomDelphiSoap --
[*] Ajustes para compilao em 64 bits. Remoo de Hints e Warnings   (por: DSA)

-- ACBrDFe --
[*] Mtodo "Gravar" modificado, inserido novo parmetros "ConteudoEhUTF8"
   function Gravar(NomeArquivo: String; ConteudoXML: String; aPath: String = '';
      ConteudoEhUTF8: Boolean = True): Boolean;
   - Se ConteudoEhUTF8 for True e ConteudoXML no contiver o cabealho de
     Encoding em UTF8, ele ser automaticamente adicionado.

-- ACBrDFeConfiguracoes --
[+] Adicionada a propriedade Configuracoes.Geral.RetirarEspacos: Boolea, default True

-- ACBrDFeWebService --
[*] Mtodo "EnviarDados", modificado para no converter a String recebida do
    WebService. Ou seja, o conteudo das variveis "RetornoWS" e "RetWS" sempre
    permanecer em UTF8 e sem decodificar os caracteres "HTML Entity"
[*] Mtodo "AjustarOpcoes" modificado para suportar "RetirarEspacos"

04/03/2016  (por: DSA)
-- ACBrDFeCapicom, ACBrDFeOpenSSL, ACBrDFeWebService --
[*] Ajustes para compilao aps modificaes em ACBrUtil
[*] Modificaes para compatibilizao com FPC 3.0

-- ACBrDFeWebService --
[+] Adicionado o mtodo protegido "AjustarOpcoes", para permitir que o XML
    gerado pelo WebService, respeite RetirarAcentos e RetirarEspacos das Opes
    do componente pai (TACBrDFe). Ex: AjustarOpcoes( InutNFe.Gerador.Opcoes );

26/02/2016  (por: DSA)
-- ACBrDFeSSL, ACBrDFeOpenSSL, ACBrDFeCapicom --
[+] Adicionada a propriedade "CertRazaoSocial", para retornar a "Razo Social"
    do Certificado
[+] Adicionado o mtodo "CalcHash", para permitir o calculo de Hashs nos
    seguintes modos: dgstMD2, dgstMD4, dgstMD5, dgstRMD160, dgstSHA, dgstSHA1,
    dgstSHA256, dgstSHA512. O resultado do Hash pode ser apresentado nos formatos:
    outHexa, outBase64, outBinary.
    - Tambm  possvel "Assinar" o Hash gerado, com a chave RSA do Certificado
      (assinatura digital)
    CalcHash( const AStream : TStream; const Digest: TSSLDgst;
              const ModoSaida: TSSLHashOutput = outHexa;
              const Assinar: Boolean =  False): AnsiString;
    - H sobrecarga do mtodo para permitir entrada de dados como:
       BinaryString : AnsiString e AStringList : TStringList
[+] Adicionado o mtodo: CalcHashArquivo( const NomeArquivo : String; ...),
    de forma analoga a "CalcHash"

-- ACBrDFeCapicom --
[-] Correo nos mtodo "Assinar", "Validar" e "VerificarAssinatura", para
    tratar corretamente XMLs em UTF8 com acentos.

-- ACBrDFeOpenSSL --
[-] Correo nos mtodo "Validar" e "VerificarAssinatura", para
    tratar corretamente XMLs em UTF8 com acentos.

24/02/2016
-- ACBrDFeWebService --
[*] modificado o metodo GetUrlWsd para virtual e assim poder sobre-escrever ele
   por: Juliomar Marchetti

23/02/2016
-- ACBrMDFeConfiguracoes
-- ACBrCTeConfiguracoes
-- ACBrNFeConfiguracoes
[-] Correo da criao de pastas, separando os XMLs por nome, no mtodo DistribuicaoDFe()
    estava criando pasta dentro de pasta. (por Isaque Pinheiro)

18/02/2016
-- ACBrDFeConfiguracoes --
[+] Adicionado a propriedade: TimeZoneConf: TTimeZoneConf em TWebServicesConf,
    para permitit configurar como o mtoto pcnAuxiliar.GetUTC se comportar,
    na deteco do TimeZone (leia mais em: PCNComum-change-log.txt)

17/02/2016
-- ACBrDFeCapicomDelphiSoap --
[*] Ajuste para definir o TimeOut de DFeSSL para a Indy (por: DSA)

-- ACBrDFeSSL --
[+] Adicionado o mtodo TDFeSSL.ValidarCNPJCertificado(CNPJDocumento: String);
    Dispara exception se o "CNPJDocumento" no contiver a mesma raiz do CNPJ do
    Certificado   (por: DSA)

10/02/2015
-- ACBrDFeWebService --
[-] Ajuste no mtodo TDFeWebService.SalvarEnvio, para que a gravao dos
    arquivos com os dados de envio, no seja indevidamente convertida para UTF8
    (por: DSA)

20/01/2015
-- ACBrDFeWebService --
[*] Ajuste para no tentar verificar a validade do Certificado, se no h
    certificado informado.
-- ACBrDFeCapicomDelphiSoap --
[*] Ajuste para considerar a propriedade "DFeSSL.UseCertificate", e no atribuir
    o Certificado na conexo se a mesma for "False"
    http://www.projetoacbr.com.br/forum/index.php?showtopic=27492

05/01/2016
-- ACBrDFe --
[*] Ajuste para melhor exibio de erros em "LerServicoDeParams" (por: DSA)

04/01/2016
-- ACBrDFeOpenSSL --
[-] Correo para os mtodos "Assinar" e "VerificarAssinatura", que no
    funcionavam em Delphi XE7, devido a problemas de String vs AnsiString (por: DSA)
    http://www.projetoacbr.com.br/forum/index.php?showtopic=27085

03/01/2016
-- ACBrDFeWebService --
[+] Adicionado o mtodo: procedure Clear; virtual; que sempre ser chamado em
    "TDFeWebService.Create" e "TDFeWebService.InicializarServico".
    Isso garantir que no haver informaes de consultas anteriores, nas
    propriedades de Retorno do WebService.   (por: DSA)

23/12/2015
-- ACBrDFeSSL --
[*] Modificada a assinatura do mtodo "Assinar", para permitir assinar documentos
    diferentes do XML da NFe
    function Assinar(const ConteudoXML, docElement, infElement: String;
      SignatureNode: String = ''; SelectionNamespaces: String = '';
      IdSignature: String = '')

[*] Modificada a assinatura do mtodo "VerificarAssinatura", para permitir verificar
    documentos diferentes do XML da NFe
    function VerificarAssinatura(const ConteudoXML: String; out MsgErro: String;
      const infElement: String; SignatureNode: String = '';
      SelectionNamespaces: String = ''): Boolean; virtual;

[*] Adicionanda a propriedade "UseCertificate: Boolean Default True", que permite
    desligar a comunicao suporte de comunicao com certificado

[*] Adicionanda a propriedade "UseSSL: Boolean Default True", que permite
    desligar a comunio por HTTPs, se necessrio

[*] Refatorao, criando os mtodos:: "AdicionarSignatureElement" e
    "AjustarXMLAssinado", removendo cdigo semelhante de ACBrDFeCapicom e
    ACBrDFeOpenSSL

-- ACBrDFeOpenSSL --
[*] Ajustes nos mtodos "Assinar" e "VerificarAssinatura", para usar os novos
    parmettos
[*] Mensagens de erro, movidas para constantes
[*] Mtodo "VerificarAssinatura", corrigido e funcionando

-- ACBrDFeCapicom --
[*] Ajustes nos mtodos "Assinar" e "VerificarAssinatura", para usar os novos
    parmettos
[*] Criadas novas constantes com as strings padro da assinatura
[*] Ajuste nas chamadas de CoInitialize e CoUninitialize,
    http://www.projetoacbr.com.br/forum/topic/26901-coinitialize/

-- ACBrDFeWebService --
[*] Ajuste no mtodo "AssinarXML" para usar os novos parmettos de Assinatura
[*] Remoo de comentrios desnecessrios



25/11/2015
[-] Acertos nas impresses para Fortes Report utilizarem corretamente o .lfm
    alguns relatrios estavam apontando somente para o .dfm gerando problemas
    de acentuao.

28/10/2015
-- ACBrDFeConfiguracoes --
[*] Alterado o valor padro de False para True das propriedades:
    Configuracoes.Geral.Salvar e Configuracoes.Arquivos.Salvar
    por: Italo Jurisato Junior

22/10/2015
-- ACBrDFeCapicom --
[*] Modificando TDFeCapicom.Enviar para usar TMemoryStream ao invez de
    TStringStream    (por: DSA)

-- ACBrHTTPReqResp --
[*] Removida a incluso do caractere #0 no final do Stream recebido.
    Remoo de comentrios  (por: DSA)

21/10/2015
-- ACBrDFeConfiguracoes --
[*] Remoo da propriedade no utilizada Geral.CodModeloDF   (por: DSA)

06/10/2015
-- ACBrDFeCapicom --
[-] Ajuste para permitir o uso de TDFeCapicom, em threads diferentes, da mesma
    aplicao     (por: Carlos Marian)
    http://www.projetoacbr.com.br/forum/index.php?showtopic=24934

02/10/2015
-- ACBrDFeOpenSSL --
[-] Ajuste para detectar a falha na abertura do Certificado, quando a Senha for
    invlida   (por: DSA)

30/09/2015
-- ACBrDFeOpenSSL -- 
[-] Acerto para garantir que a leitura do certifica nas informaes extras seja
    mais correto.
    por: Daniel Simes

[-] Acerto para forar a utilizar o CNPJ do evento ao invs do CNPJ do certificado
    evitando assim problemas na gravao de arquivos onde a filial utiliza o 
    certificado da matriz.
    por: regys.silveira

29/09/2015
-- ACBrDFeConfiguracoes --
[*] GetPath, ajustado para que Parmetro CNPJ considere apenas os numricos
    http://www.projetoacbr.com.br/forum/index.php?showtopic=24676

-- ACBrDFeOpenSSL --
[-] Acerto na leitura do CNPJ no certificado, encontramos alguns certificados
    em que na informao adicional os caracteres de inicio do CNPJ so 
    diferentes.

24/09/2015
-- ACBrDFeConfiguracoes --    (por: DSA)
[*] Adicionado observaes no cdigo sobre o uso das diversas propriedades
    "Salvar"

23/09/2015
-- ACBrDFeSSL --
[*] Adicionado suporte a diretiva: {$DEFINE DFE_SEM_CAPICOM}
    Isso ir remover o suporte a CAPICOM de DFeSSL, deixando apenas o suporte
    a OpenSSL.

21/09/2015
-- ACBrDFeSSL --
[*] Adicionado suporte a diretiva: {$DEFINE DFE_SEM_OPENSSL}
    Isso ir remover o suporte a OpenSSL / XMLSec de DFeSSL. A vantagem  que a
    aplicao deixar de ficar dependente das DLLs do XMLSec

19/09/2015
-- ACBrDFeWebService --      (por: DSA)
[*] Implementada a propriedade TDFeWebService.Mimetype, para permitir que algum
    WebService utilize um valor diferente de "application/soap+xml"
[*] TDFeWebService.RetornoWS e TDFeWebService.RetWS modificados para retornarem
    o valor em UTF8, assim como recebido pelo WebService.
    * Nota para desenvolvedores do ACBr. Para acessar os valores de RetornoWS e
      RetWS com a String nativa da IDE (Ex: Unicode) utilize os campos Protected
      "FPRetornoWS, FPRetWS"
[*] TDFeWebService.DefinirEnvelopeSoap, modificado para no inserir o cabealho
    "ENCODING_UTF8", nas IDEs Delphi XE, que usam UNICODE e no UTF8
     (isso forar a converso para UTF8 antes do envio)

18/09/2015
-- ACBrDFeSSL --      (por: DSA)
[*] Mtodo "DFeSSL.Enviar" modificado, para permitir informar o "Mimetype".
    til para alguns WebServices que no usam "application/soap+xml"..

16/09/2015
-- ACBrDFe --    (por: DSA)
[*] Disparo de Exception com msg clara quando diretrio configurado para os
    Schemas no contiver nenhum Schema
[*] Disparo de Exception quando calculo do Arquivo de Schema retornar String vazia
[-] Correo na gravao dos XMLs de Pedido, Retorno e Envelopes para sempre
    usarem UTF8 como Encoding. Este problema somente afetava Delphi com suporte
    a Unicode (XE)      (Por: DSA e Carlos CANTU)

11/09/2015
[+] Adicionada a propriedade CertTipo para retornar se o certificado  A1 ou A3
    por: regys.silveira /Daniel

09/09/2015
[-] ACBrMDFeDAEventoRLRetrato.dfm e ACBrMDFeDAMDFeRLRetrato.dfm
    Converso para ANSI, no estava imprimindo corretamente no Delphi 7
    http://www.projetoacbr.com.br/forum/topic/24136-impresso-do-damdfe-e-eventos/

09/09/2015
[*] Alterado a condio que defini se vai salvar o no os XMLs de envio/retorno,
    agora esses arquivos s sero gravado caso a propriedade Salvar de Geral for
    True.
    por: Italo Jurisato Junior

08/09/2015
-- ACBrDFeConfiguracoes --
[*] Ajuste para que TDFeSSL.SSLLib default seja por padro, libCapicomDelphiSoap,
    no Delphi  (por: DSA)

02/09/2015
[-] remoo de metodo no usado
[-] alterao para adicionar o path delimiter ao PathPDF
    por: regys.silveira / Daniel Simes

02/09/2015
-- ACBrDFeCapicomDelphiSoap --  (por: Augusto Fontana)
[-] Correo para difinio de URL e SoapAction
     http://www.projetoacbr.com.br/forum/index.php?showtopic=24107

26/08/2015   (por: DSA)
-- ACBrDFeConfiguracoes, ACBrDFeSSL --
[-]  Correo para que nmero do Certificado seja igual em TDFeSSL e
     TCertificadosConf
     http://www.projetoacbr.com.br/forum/index.php?showtopic=23128

18/08/2015   (por: DSA)
-- ACBrDFeCapicom --
[+]  Implementado o uso de Certificados A1 por Arquivo PFX,
    Sem necessitar da instalao do Certificado.  Exemplo:
    ACBrNFe1.Configuracoes.Certificados.ArquivoPFX := 'c:\temp\CertificadoA1.pfx';
    ACBrNFe1.Configuracoes.Certificados.Senha := '1234';
[*] Refatorao de cdigo na atribuio de Senha de Certificados A3
[*] Reviso de rotinas para liberao de Recursos alocados
[-] Correo de "Erro no suporte a canais seguros" a partir da segunda requisicao.
    o que ocorre quando o mesmo Certificado A3  atribuido a vrias instncias do
    componente, e com a atribuio automtica de Senha  (por:  Marciano Bandeira)
    http://www.projetoacbr.com.br/forum/index.php?showtopic=23668
[*] Mtodo "Validar", mais informaes sobre o Erro quando falhar ao Ler um XML.

-- ACBrHTTPReqResp --
[*] Reviso de rotinas para liberao de Recursos alocados

13/08/2015   (por: DSA)
-- ACBrDFe --
[*]  Remoo de mtodo no utilizado "GetNomeArquivoServicos"
[*]  Ajuste para TWebServicesConf.LerParamsIniServicos procurar por
     "ACBrXXXServicos.ini" na mesma pasta do .EXE, se o mesmo no estiver
     definido em Configuracoes.Arquivos.IniServicos

10/08/2015   (por: DSA)
-- ACBrDFeCapicom --
[-] Tentativa de correo de falha de atribuio de Senha em Certificado A3
    http://www.projetoacbr.com.br/forum/index.php?showtopic=23508

07/08/2015   (por: DSA)
-- ACBrDFeCapicom --
[-] Tentativa de correo de A.V.
    http://www.projetoacbr.com.br/forum/topic/23441-migrando-para-o-trunk2/

06/08/2015   (por: DSA)
-- ACBrDFeOpenSSL --
[*] Modificada a maneira de carregar as DLLs de XMLSec, para evitar a dependencia 
   das DLL sem o uso das rotinas
   
06/08/2015   (por: DSA)
-- ACBrDFe, ACBrDFeConfiguracoes --
[*] Remoo da propriedade "UnloadSSLLib"

-- ACBrDFeSSL, ACBrDFeCapicom, ACBrDFeOpenSSL --
[*] Remoo da propriedade "Inicializado, UnloadSSLLib"
[*] Remoo dos mtodos: "Inicializar, DesInicializar".
    A Inicializao agora  feita em initialization e finalization da Unit,
    para evitar problemas relacionados a Init e Shutdown das DLLs de SSL a cada
    Create e Destroy de TACBrDFeSSL, alm de obter melhor desempenho.

04/08/2015
-- ACBrDFeOpenSSL --     (por: DSA)
[-] Correo para detectao de CNPJ, para Certificados que no tem o CNPJ no
    Subjectname. Implementado mtodo para detectar o CNPJ atravs das Extenses
    do Certificado

-- OpenSSLExt --
[*] Efetuado merge com Openssl.pas de FPC

-- ACBrDFeCapicom --     (por: DSA)
[-] Correo para exibio de erro de TDFeCapicom.Executar com acentos
