2025-03-24  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.test: Fix slearsign/verify test for GnuPD 2.2.46 and newer.

	* tclgpg.tcl: Fix a typo in [lassign].

2025-03-22  Sergei Golovan  <sgolovan@nes.ru>

	* tclconfig/ChangeLog, tclconfig/README.txt, tclconfig/install-sh,
	  tclconfig/license.terms, tclconfig/tcl.m4: Update tclconfig to
	  its latest version supporting Tcl 9.
	* tclgpg.test: Fix a few tests.
	* tclgpg.tcl, tclgpg.c, pkgIndex.tcl.in: Start porting the package
	  to Tcl 9.
	* configure.ac, tclgpg.test: Bump version to 1.2.

2016-06-15  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.test: Fixed conversion encoding for the test with binary
	  message. This closes ticket [c3263a9efa].

2016-04-26  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.test: Added a test for encrypting binary message intended
	  to catch new line translation issue. Test fails only on Windows.

	* tclgpg.tcl: In addition to encoding set translation to binary if
	  the message-to-be-encipher encoding is set to binary. This closes
	  ticket [e3b54f438c].

	* license.terms: Fixed copyright years.

2016-01-13  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.test: Fixed unsetting GPG_AGENT_INFO.

	* tclgpg.tcl: Don't treat warnings which gpg sends to the standard
	  error as errors.

2016-01-01  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed parsing the gpg status output during keys import
	  if there are expired keys in the keyring. Also, added a few code
	  comments.

	* tclgpg.tcl, doc/gpg.man: Extended copyright years.

2015-12-31  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.test: Explicitly unset the GPG_AGENT_INFO environment
	  variable because it interferes with tests.

2015-12-30  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl, tclgpg.test: Added incomplete (but usable) support for
	  importing and deleting GPG keys.

	* configure.in: Bumped the package version to 1.1.

	* tclgpg.tcl, tclgpg.test: Added option -keys to the import routine.

2015-12-27  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Return the 'bad passphrase' error for the case of
	  failure after incorrectly entered passphrase via the pinentry.

	* tclgpg.test: Added a test which ensures that the recipient for
	  encryption can be specified using his key ID.

2015-12-26  Sergei Golovan  <sgolovan@nes.ru>

	* doc/gpg.man, tclgpg.tcl: Take the name of GnuPG executable from
	  the $GPG_EXECUTABLE environment variable if it's set.

	* tclgpg.c: Fixed a harmless but annoying warning with integer to
	  pointer conversion.

	* tclgpg.tcl, tclgpg.test, doc/gpg.man: Added new property
	  pinentry-mode. It can be used with gpg 2.1 to use custom passphrase
	  callbacks. Also, allowed the input message to sign and the
	  passphrase to be supplied to gpg in any order (doesn't work without
	  C helper). Added a few tests for pinentry-mode and documented it
	  shortly in the manual page.

2015-10-08  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed work with GnuPG 2.1 which doesn't require the
	  GPG_AGENT_INFO environment variable to be defined.

	* doc/gpg.man, tclgpg.tcl: Extended copyright period.

2015-03-24  Sergei Golovan  <sgolovan@nes.ru>

	* license.terms: Fix copyright years.

	* Makefile.in, aclocal.m4, configure.in, doc/gpg.man, pkgIndex.tcl.in,
	  tclgpg.c, tclgpg.tcl, tclgpg.test: Remove svn:keywords property
	  placeholder.

2014-01-28  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.test: Fixed encoding for decrypt-1.1 test.

2014-01-10  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed encrypting to the recipients with several public
	  keys where some of them are expired or revoked.

	* tclgpg.test: Covered the change above.

	* doc/gpg.man, tclgpg.tcl, tclgpg.test: Extended copyright period.

2011-01-29  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Added --use-agent option to the gpg call, which makes
	  gpg using gpg-agent if it's present instead of an internal
	  passphrase callback (Fixes issue 4).

2010-07-02  Sergei Golovan  <sgolovan@nes.ru>

	* configure.in: Moved AC_PROG_INSTALL macro out of enable-c-helper
	  check because when it is processed by autoconf 2.65 it expands only
	  once leaving INSTALL variable empty if --disable-c-helper is
	  specified (closes: #3). The (harmless) drawback is that earlier
	  autoconf versions create configure script that runs AC_PROG_INSTALL
	  twice in case of --enable-c-helper.

	* doc/gpg.man: Added the list of adjustable GPG token properties.

2009-11-15  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed decrypting and signing if gpg-agent is used for
	  passphrase handling (closes: #2). Clarified error message in case
	  when passphrase callback isn't specified.

	* tclgpg.test: Added test for decrypting without passphrase callback.

2009-10-10  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl, tclgpg.test: Don't issue broken pipe error in case when
	  recipient's public key is missing or unusable.

	* gnupg/pubring.gpg~, gnupg/random_seed: Removed unnecessary files.

2009-08-31  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.test: Fixed results in two tests and added cleanup code
	  for other two.

2009-08-20  Konstantin Khomoutov  <flatworm@users.sourceforge.net>

	* tclgpg.test: Improved test suite:
	  - Used -cleanup and -setup where applicable.
	  - Used "-resultCodes error" to test for errors.
	  - Reformatted results of some tests to fit into a
	    terminal window.

	* configure.in: Added doc/*.html to CLEANFILES

	* doc/gpg.man: Enclosed section heading in quotes.

	* tclgpg.tcl, tclgpg.test:
	  - Made [set] and [unset] commands check the number
	    of arguments they are passed and return an error
		message if this number is wrong.
	  - Corrected error message [set] returns when
	    the option being queried is not set.

	* doc/gpg.man: Reformatted man page.

2009-08-16  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Moved error generating code to a separate procedure.
	  Return error "Bad passphrase" to a caller.

	* tclgpg.test: Added another set of tests to the test suite.

2009-08-15  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Reduced number of known properties. Fixed error messages
	  in set and unset commands when the property is not specified. Fixed
	  subkeys element of parsed key info.

	* tclgpg.test: Added several tests to the test suite.

	* gnupg/*: Added GnuPG keyring which is used in tests.

	* Makefile.in: Fixed test target.

	* tclgpg.test: Protected setting gnupg directory permissions to allow
	  to run test suite on Windows.

2009-08-14  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed message and signatures encodings when armor
	  property is set to false. Rewritten procedure which calls GPG
	  executable to make it easier to construct GPG command line options.
	  Added passphrase-encoding property which equals the system encoding
	  by default. Changed unset subcommand behavior to reset property to
	  its default value.

2009-08-09  Sergei Golovan  <sgolovan@nes.ru>

	* configure.in: Fixed installing the library if --disable-c-helper
	  option is used (closes issue 1).

2009-08-07  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed typo.

	* tclgpg.tcl: Added two debug messages.

2009-08-03  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl, doc/gpg.man: Broke compatibility with TclGPGME by
	  turning option -operation into a subcommand. Let password callback
	  return break code which means no passphrase. Modified set command
	  to query a given property if the value isn't specified. Added unset
	  command. Removed start-key, next-key and done-key commands (in favor
	  of list-keys).

	* tclgpg.tcl: Added encoding property, so that data supplied to and
	  received from GPG executable are encoded properly.

2009-02-04  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed indices of returned serialised arrays.

2009-01-30  Sergei Golovan  <sgolovan@nes.ru>

	* Makefile.in: Switched from mpexpand to dtplite when generating
	  manpage.

	* doc/gpg.man: Replaced deprecated [nl] command by [para].

	* Makefile.in: Added building HTML doc.

	* doc/gpg.man: Fixed typo.

2009-01-17  Sergei Golovan  <sgolovan@nes.ru>

	* pkgIndex.tcl.in: Fixed package loading if it is located in a
	  directory with spaces in its name.

	* *: Added 2009 to all copyright statements.

2008-11-23  Sergei Golovan  <sgolovan@nes.ru>

	* doc/gpg.man, Makefile.in: Moved manpage to doc subdirectory.

	* Makefile.in, configure.in: Made building C-helper which spawns gpg
	  process optional (thanks to Konstantin Khomoutov).

	* Makefile.in, aclocal.m4, configure.in: Added copyright info and
	  removed unnecessary autoconf macro.

2008-11-22  Sergei Golovan  <sgolovan@nes.ru>

	* *: Started to convert the package to a proper TEA package.

	* tclgpg.c: Included missing header.

	* configure.in: Removed tclgpg.tcl from Tcl sources as it is a
	  generated file.

	* Makefile.in, aclocal.m4, configure.in: Added all generated files
	  (not only Makefile and pkgIndex.tcl) to CONFIG_CLEAN_FILES, so they
	  will be removed on make distclean. Also, overridden
	  TEA_ADD_TCL_SOURCES macro to succeed if a file with suffix .in
	  exists.

	* configure.in, pkgIndex.tcl.in, tclgpg.tcl: Used an alternative method
	  of loading the library, so using generated tclgpg.tcl isn't necessary
	  anymore.

	* tclgpg.c: Changed the name of init function because of library name
	  change.

2008-11-21  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl, gpg.man: Implemented asynchronous mode for sign, verify,
	  encrypt and decrypt operations. Cancelling the operations isn't
	  possible yet.

	* *: Removed Antony from authors list until he will have time to
	  actually contribute.

2008-11-20  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl, gpg.man: Implemented asynchronous mode for list-keys
	  operation. Cancelling the operation isn't possible yet.

2008-11-18  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.c, tclgpg.tcl, Makefile: Added a wrapper around gpg call
	  to make use of pipes (and therefore of TclX or Tcl 8.6) and use
	  of temporary files unnecessary. (Unfinished yet, some resources
	  cleanup and porting to Windows is needed).

	* tclgpg.c: Moved memory allocation for gpg options to a short living
	  grandchild, making its releasing unnecessary.

	* tclgpg.c, tclgpg.tcl: Code cleanup.

	* tclgpg.c: Add --enable-special-filenames options only if these
	  special filenames are actually used.

	* tclgpg.c: Added check if the memory for gpg options is allocated.

2008-10-28  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Made the first gpg call use auto_execok.

2008-09-20  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Made search for gpg executable more correct (thanks to
	  Konstantin Khomoutov).

	* tclgpg.tcl: Refuse to load the package if gpg-agent isn't running
	  for gpg 2.0 and newer, because it accepts passphrases only from
	  gpg-agent.

2008-09-16  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed bug where ListKeys was forgotten to rename to
	  FindKeys in a call.

	* tclgpg.tcl: Replaced platform-dependent choosing of gpg binary by
	  auto_execok call (thanks to Emiliano Gavilan).

2008-09-15  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed processing text input from gpg on Windows systems
	  (with CRLF line breaks). Added --charset utf-8 option to gpg call.
	  Added support for text mode (option --textmode, untested yet).

	* tclgpg.tcl: Fixed textmode initialization and added list-keys
	  operation which is more convenient than trio start-key, next-key,
	  done-key.

2008-09-14  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Joined processing of all gpg status messages together,
	  which helped to add signature verifying support to message
	  decryption. Also converted almost all string comparisons to
	  expressions because Tcl 8.4 is a requirement, so there's no need in
	  using [string equal].

	* tclgpg.tcl: Added support for pipe package and simplified pipe
	  creation; also redefined gpg executable variable for Windows
	  platform (thanks to Konstantin Khomoutov).

	* tclgpg.tcl: Added checks for procedure arguments and added comments
	  describing what main procedures do.

	* tclgpg.test: Started TclGPG test suite.

2008-09-13  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Implemented parsing subkeys. Store primary key
	  attributes outside subkeys list (it's the first serious deviation
	  from TclGPGME where the first subkey is a primary key).

	* tclgpg.tcl: Separated execution of gpg from its subsequent usage to
	  make it easier to implement asynchronous operations. Added optional
	  calls to not implemented yet C-based gpg execution procedure.

2008-09-12  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Fixed verifying of detached signature (removed extra LF
	  from the end of a signed input). The same for signing.

	* tclgpg.tcl: Removed trailing LF from temporary files contents
	  (detached signature and encrypted message). Return serialized array
	  when dectypting (signature status isn't supported yet). Turn always
	  trust mode on when all recipients are added with full or ultimate
	  validity.

2008-09-11  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Added requirement for Tcl 8.4 which is required for
	  tracing commands. Changed default debug level to 2 which is more
	  appropriate for pre-alpha stage. Call passphrase callback with
	  serialized array argument similar to original TclGPGME.

	* gpg.man: Fixed Tcl requirement.

	* tclgpg.tcl: Store known keys in a global array available for all
	  contexts. Redesigned key traversing from arrays to lists and use
	  global array with stored keys. Ask gpg for a key if it is unknown at
	  the moment of signature verification.

2008-09-10  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Added support for operation last-op-info.

2008-09-09  Sergei Golovan  <sgolovan@nes.ru>

	* gpg.man: Added a very preliminary manual page.

2008-09-08  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Added symmetric encryption support and made
	  passphrase-callback support a bit better.

2008-09-07  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Almost finished signature verification code (except
	  catching errors from gpg and returning plaintext attribute for
	  signatures which include the signed text).

	* tclgpg.tcl: Return plaintext attribute for non-detached signatures.

2008-09-06  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Implemented gpg calls for message signing, decryption
	  and signature verification. Results for signature verification
	  aren't ready yet.

2008-09-05  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Implemented message encryption with optional signing.
	  Since it is impossible to close only a writing half of a channel in
	  Tcl 8.5 or older, in order to be able to supply a passphrase to gpg
	  process a dependency on Tclx has to be introduced (command [pipe] is
	  used, or alternatively [chan pipe] from Tcl 8.6). Also, a few typos
	  in recipients code are fixed.

2008-09-04  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Implemented creating recipient token and its operations.

2008-09-03  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Added a check for working gpg executable on the package
	  load. Converted collecting gpg data into a channel because it has to
	  be configured to use UTF-8 encoding.

2008-09-02  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl: Catch gpg execution errors. Started to implement parsing
	  of keylist output. Traversing keylist is almost usable now.

	* tclgpg.tcl: Return error on start-trustitem, next-trustitem,
	  done-trustitem, info-trustitem operation because in GPGME the
	  corresponding operations use --list-trust-path option which isn't
	  supported by gpg anymore.

2008-09-01  Sergei Golovan  <sgolovan@nes.ru>

	* tclgpg.tcl, pkgIndex.tcl, license.terms: Started TclGPG library.

	* tclgpg.tcl: Preliminarily implemented gpg::info procedure and
	  start-key, next-key and done-key context operations (though they
	  are useless because gpg output parsing isn't implemented yet).

