packages feed

cpsa-3.6.11: ChangeLog

2022-06-15  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.11

2022-04-07  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/{Graph,SAS,Shapes}/Main.hs: Removed extra quotes in
	error messages.

2022-03-20  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.10

2022-03-17  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/SExpr.hs: Allow double quote and backslash in
	strings so that S-expressions can contain Windows file names.

2022-01-04  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.9

2021-12-08  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (origUgenDiffStrand): Expunge skeletons
	that have a value that is both uniq orig and uniq gen, and start
	on different strands.

2021-11-12  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.8

2021-11-05  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (addBaseListener): Added a stronger
	method for solving some Diffie-Hellman authentication tests.  The
	method handles the special case in which the critical term has the
	form (exp (gen) (mul ...)) and all of variables in the exponent
	are random exponents (rndx).  It uses baseRndx to add listeners.

	* src/CPSA/DiffieHellman/Algebra.hs (baseRndx): When all of the
	factors in a group use rndx variables, baseRndx returns a list of
	concatenations of each variable with the base term exponentiated
	with the group without the variable.

2021-11-02  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Graph/ExpandedView.hs (tdrawer): Added POV link in
	tree.

2021-09-10  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/lib/Expand.hs (macroExpand): Made it an error to apply
	a macro to the wrong number of arguments.

2021-04-27  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.7

2021-04-27  Joshua D. Guttman  <guttman@mitre.org>

	* cpsa.cabal:  Clarified package description (deorigination)

2021-04-14  John D. Ramsdell  <ramsdell@mitre.org>

	* Makefile: Vastly simplified.

2020-10-27  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Data-Files): Added missing examples to Data-files.

2020-05-21  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.6

2020-05-15  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (rlugen): Replaced an incorrect call to
	originationNodes to be a call to generationNodes.  This fixes a
	bug when using the ugen predicate in the conclusion of a rule.

2020-05-15  Moses D. Liskov <mliskov@mitre.org>

	* src/CPSA/Lib/Strand.hs (preskelWellFormed): Added a check that
	all variables used in any terms in any declarations are used in
	the terms of the traces.
	* src/CPSA/Lib/Strand.hs (verbosePreskelWellFormed): Made a similar
	change, but without removing existing more specific messages that
	may be informative for users.

2020-04-15  Joshua D. Guttman  <guttman@mitre.org>

	* src/CPSA/Lib/Strand.hs (graphCloseAll):  Added a procedure to
	generate a transitive closure that includes pairs on the same
	strand.  Adapted gprec to use it.

2020-04-02  Ian D. Kretz  <ikretz@mitre.org>

	* src/CPSA/Latex/Main.hs (main): Remove number from pubk, privk
	newcommand

2020-03-31  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs (Preskel): Added support for unique
	generation assertions.

2020-03-20  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Update version number as 3.6.6

2020-03-04  Moses D. Liskov  <mliskov@mitre.org>

	* src/CPSA/Prot/Main.hs (main): Added support for state to
	cpsaprot.

2020-02-27  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (probIsomorphic): Added quick checks for
	thinning isomorphism check.

2020-02-20  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Prot/Main.hs (main):  Improved error messages and added
	(chmsg TERM) form for channel messages and clone for roles.

2020-02-13  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Prot/Main.hs (main):  Added cpsaprot program.

2020-02-11  Kretz, Ian D <ikretz@mitre.org>

	* src/CPSA/LaTeX/Main.hs (main):  Added cpsa2latex program.

2019-11-26  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/GoalSat/Main.hs: Added cpsagoalsat program.

2019-11-12  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.5

	* src/CPSA/Lib/Strand.hs (tryPermProb): Rewrote tryPermProb so
	that it uses tryPerm.

2019-11-08  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (tryPermProb):  Added missing invperm to
	the third line of tryPermProb, and reenabled multistrand thinning.

2019-10-21  John D. Ramsdell  <ramsdell@gootoo.mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.4

2019-10-21  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Utilities.hs: Used the C preprocessor to allow
	compilation using older versions of GHC.

2019-10-15  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Utilities.hs: Updated code to support the removal
	of fail from Monad as implemented in base-4.13.0.0.

2019-09-16  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (thinManyStrands):  Replaced isomorphic
	check with probIsomorphic check so that strands in the
	point-of-view remain unmodified.

2019-08-26  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.3

2019-08-22  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (doRewritesLoop): Fixed the code that
	counts rewrite rules applied so it is accurate.  This allows the
	rewrite rule limit to be correctly enforced.

2019-08-21  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (runiqAt): Ensured that rewriting with
	uniq-at fails when the index is greater than the strand length.

2019-08-19  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Init/Main.hs (main): Added program cpsainit.  The
	programs copies the files Makefile, cpsa4.mk, Make4.hs, and
	template.lisp from the CPSA data directory to the current
	directory, thereby easing the task of starting a CPSA project.

2019-07-15  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/State.hs: Removed the label field in a transition.
	The field was always ignored, and it causes confusion on input.

2019-06-26  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (multiset): Used multisets of trace
	briefs to reduce the number of full permutation isomorphism
	checks.

2019-06-21  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (brief): Added a summary of trace that
	reduces the need for matching during isomorphism checking.

2019-06-04  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Reduction.hs (begin): Reversed todo list after
	running rules so as to get the output order correct.

2019-05-20  Joshua D. Guttman  <guttman@mitre.org>

	* src/CPSA/Lib/Strand.hs (tryPerm): Fixed bug in isomorphism
	checking.  Checking of facts used wrong environment.

2019-05-17  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs (leadstoKey):  Added support for leadsto in
	shape analysis sentences.

	* src/CPSA/Lib/Strand.hs (kfactVars):  Allow message variables in
	facts that occur nowhere else.
	(useFactVars):  Add flag that disables message variable in facts
	that occur nowhere else and disable it, because isomorphism
	checking is broken.

	* src/CPSA/Strand.hs (doRewriteOne):  Values associated with
	existential variables in rules are freshly generated so that
	parameter terms can be compound.

2019-04-03  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (verbosePreskelWellFormed): Added a check
	that ensures the every variable that occurs in a fact also occurs
	in some strand.

2019-03-18  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.2

2019-02-22  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Reduction.hs (addAnnoKey):  Added structured
	annotations to skeleton output to facilitate post processing
	programs besides cpsagraph.  The new keys are (aborted),
	(satisfied-all), and (dead).

2019-02-04  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Reduction.hs (step):  Changed default depth bound
	to zero representing no bound and ignored the check when the bound
	is not positive.  This matches what is documented in the manual.

2019-01-31  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Loader.hs (badKey): Added checks for bad keys in
	alists for skeletons ("defstrand" and "deflistener") and protocols
	("defrole" and "defrule").

2018-11-28  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Protocol.hs (AForm):  Added the leads-to predicate
	to the goal language.

2018-11-19  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Printer.hs (formula):  Added special pretty
	printing rules for formulas in defgoal and defrule.

2018-11-09  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs (loadPOV): Use a preskeleton as a POV
	instead of insisting on using a skeleton.

2018-08-29  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.1

2018-08-22  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Strand.hs (doRewrites): Added a limit on the number of
	rules that can be applied after solving an authentication test.

2018-08-20  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (cleansPreskel): Cleansed facts from a
	skeleton purged of a strand.  This changes fixes a nasty display
	bug that occurred when a variable in a fact did not occur in any
	strand.

2018-08-06  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Loader.hs (loadConclusion):  Removed mode flag as
	this routine should always be using mode RoleSpec.  This resolves
	a bug in which CPSA could not load a Shape Analysis Sentence as
	rule because equality was before the protocol specific formulas.

	* src/CPSA/Lib/Strand.hs (newPreskel):  Changed newPreskel so that
	it removed duplicates in the leadsto field when creating a new
	preskeleton.  This resolved a bug in which CPSA produced to shapes
	that appeared to be isomorphic, but instead, one shape had
	duplicates in its leadsto field.

2018-06-25  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Version): Tagged as 3.6.0

2018-06-18  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (gparam): Added support for binding the
	strand variable in gparam as opposed to relying on it being bound
	by a role length predicate.

2018-06-11  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/*.hs: Implemented geometric formulas as rewrite
	rules.  The rules are applied after each cohort step.

2018-06-05  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/*.hs: Converted the goal language to be
	strand-oriented.  The goal language in incompatible with the
	previous, node-oriented language.

2018-05-22  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Cohort.hs (unrealizedInNode, nextNodeA):  Lifted to
	top-level to satisfy new ambiguity check in GHC 8.4.2.

2018-04-17  John D. Ramsdell  <ramsdell@mitre.org>

 	* cpsa.cabal (Version): Tagged as 3.5.0.

2018-03-20  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/DiffieHellman/Algebra.hs (displayVar, mkVar): Changed
	sort names.  expn -> rndx and expr -> expt.

2018-02-12  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs (disjoin): Changed output to (false) on an
	empty disjunction instead of (or).

2018-01-12  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Loader.hs (mkListenerRole): Changed do pattern to
	be irrefutable.

2017-09-15  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/DiffieHellman/Algebra.hs (unifyTerms):  Added calls to
	chase before calling unifyBase which prevents a failure in the
	occurs check.

2017-09-14  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (tryPerm): Add missing inverse
	permutation to second checkOrigs in tryPerm.

2017-09-12  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal:  Removed CPSA.Lib.CPSA globally and removed
	unnecessary dependencies.

2017-08-30  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal: Added missing modules and source repository
	location.

	* src/CPSA/Lib/DebugLibrary.hs (zi): Fixed erroneous parameters in
	Instance.

2017-08-28  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Cohort.hs (solved): Fixed condition 5.  It was
	using ct instead of ct'.

2017-06-30  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Cohort.hs (transformingNode, maybeAug, nextNode):
	Rewrote code so that it no longer fails the ambiguity check.

2017-05-26  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/DiffieHellman/Algebra.hs (mkInitMatchDecis): Ensure
	initial distinctions to not include fresh variables.
	(partition): Do not move variables of sort expn to lhs, even if
	they are freshly generated.

2017-05-16  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/DiffieHellman/Algebra.hs (displaySubst):  Removed
	erroneous substitution to fix substitution displaying.

2017-05-10  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Strand.hs (findReplacement, permutations): Merge
	generators so that no variable in a term has an identifier that is
	greater than or equal to the generator.

2017-02-02  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Basic/Algebra.hs (loadInvk): Added support for reading
	(invk (privk ...)) and (invk (invk ...)).

2017-01-17  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs (strandForm): Remove conjoin and use
	concatMap when creating a characteristic skeleton.

2017-01-09  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Loader.hs (loadPrimary): Removed generator
	parameter that was not used.

2016-12-21  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Cohort.hs (solved): In Condition 4, applied
	substitutions to the encryption keys before testing for
	derivability.

2016-10-04  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Basic/Algebra.hs (matchRenaming):  Make isomorphism
	check work in presence of asymmetric keys.

2016-09-30  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Algebra.hs: Added isObtainedVar for variables of
	sort expr in the Diffie-Hellman algebra.

2016-08-12  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs (form): Changed "defsas" to "defgoal" as the
	keyword for a generated shape analysis sentence.  This makes the
	program compatible with its documentation.

2016-06-22  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa.cabal (Extension): Add allow ambiguous types when compiling
	with GHC 8.0.0 or later.

2016-06-21  Moses D. Liskov <mliskov@mitre.org>

	* src/CPSA/DiffieHellman/Algebra.hs: Added code to implement the
	"tag" sort, which quoted string tags belong to.

2016-06-03  Moses D. Liskov <mliskov@mitre.org>

	* doc/examples/IKE_variants.tar.gz: Added this compressed archive
	of IKEv1 and IKEv2 variant input files.

2016-03-30  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs: Added support for fringe skeletons so that
	cpassas makes use of depth limited output.  When a tree depth
	limit is exceeded, a fringe labeled skeleton is printed.  cpsasas
	produces a sentence with a right-hand-side that encodes both the
	shapes and the fringe.  Thus, when cpsa is running the a tree
	depth limit of one, cpsasas computes a cohort analysis sentence.

2016-03-29  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Reduction.hs (LPreskel): Added a depth field, so
	that CPSA aborts when the depth of one branch exceeds a bound.

	* src/CPSA/Lib/Algebra.hs: Added escapeSet to Term class and remove
	protectors, thus computing the escape set in a more
	straightforward way.

2015-11-23  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/Main.hs (main): Changed start up so that the herald
	is read and used to find the correct algebra for further
	processing.

2015-10-02  John D. Ramsdell  <ramsdell@mitre.org>

	* doc/{index,cpsauser}.html: Added width limit of 48em.

2015-07-09  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Graph/ExpandedView.hs (purgeTraces): By default, the
	graph program now does not show traces in skeletons.  Added
	--show-traces option to the graph program, which restores the
	previous behavior and traces are displayed in skeletons.

2015-07-02  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Algebra.hs: Added constituent to the algebra
	interface and the algebras.  An atom is a constituent of a term if
	the atom is among the set of atoms required to construct the term.
	Changed occursIn so that it just applies to variables.

2015-07-01  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/{Basic,DiffieHellman}/Algebra.hs (occursIn): Restricted
	first argument of occursIn to variables and atoms and corrected
	the implementation.

2015-06-30  John D. Ramsdell  <ramsdell@mitre.org>

 	* cpsa3.cabal (Version): Tagged as 3.2.2.

2015-06-25  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (geq): Removed dynamic role specific test
	because it erroneously reports violations.  The existing static
	role specific test correctly does the job.

2015-05-26  John D. Ramsdell  <ramsdell@mitre.org>

 	* cpsa3.cabal (Version): Tagged as 3.2.1.

	* src/CPSA/DiffieHellman/Algebra.hs (displayTerm):  Made it so
	that CPSA prints each bltk atoms in a canonical form so that the
	graph program draws solid arrows when it should.

2015-04-27  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Loader.hs (ReturnFail): Added ReturnFail Monad so
	that fail is correctly handled.  Added Functor and Applicative
	instance to support GHC 7.10 base library.

2015-04-20  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Characteristic.hs (mkDcls): Fixed tag for non-orig
	and pen-non-orig.

2015-04-10  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (mkListener): The role used for listener
	strands is now the one stored in the protocol.  It has a single
	variable x of sort mesg as its set of variables.  This change
	enables satisfaction checking on skeleton that include listeners.

2015-04-07  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (toSkeleton): Removed hulling to the
	process of converting an input preskeleton into a skeleton as it
	causes bugs in printing.

	* Imported CPSA2's implementation of goals and expunged support
	for subgoals.

2015-03-27  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (toSkeleton): Added hulling to the
	process of converting an input preskeleton into a skeleton.

2015-03-25  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Goal.hs: Added uniq to goal language.

2015-03-17  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs (form): Generate a defsas form rather than a
	naked sentence.

	* src/CPSA/Lib/Loader.hs (loadPrimary): Renamed equals function
	symbol to =.

2015-03-05  John D. Ramsdell  <ramsdell@mitre.org>

 	* cpsa3.cabal (Version): Tagged as 3.2.0.

2015-02-20  John D. Ramsdell  <ramsdell@mitre.org>

	* Added support for subgoals within point-of-view skeletons.  The
	subgoals are evaluated for each shape, and (satisfies-a-subgoal)
	is added to a shape when it satisfies one of the subgoals.

2014-12-11  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Entry.hs (defaultOptions): Changed the default
	strand bound to 12.

2014-11-15  John D.  Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/SAS/SAS.hs: Changed the language used for a shape
	analysis sentence to be node-oriented.

2014-11-07  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Loader.hs (loadPriorities): Allowed priority
	declarations on state synchronization nodes other than
	initiatizers.

2014-11-07  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Cohort.hs (explainable): Added the nodes reachable
	by strand succession so that a transition can be explained by a
	previous transition within a strand.

2014-10-31  John D. Ramsdell  <ramsdell@mitre.org>

	*  Changed the name of the logic producing program to cpsa3sas.

2014-09-01  John D.  Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/Strand.hs (noStateSplit): An observer node should have
	at most one transition node after it too.

2014-08-31  John D.  Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/State.hs: Made labels optional.  Use "tran" for
	state synchronization events with labels, and "sync" for ones
	without.

2014-08-29  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/Lib/*.hs: Added support for analyzing protocols with
	state.  A state synchronization event sync was added to the events
	that can occur in a trace, along with a new method for state-based
	augmentation.  An example using sync events is in
	tst/envelope.scm.

2014-08-26  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa3.cabal:  Removed cpsaparameters program.

2014-08-25  John D.  Ramsdell  <ramsdell@mitre.org>

	* src/split.py: Added the skeleton split program that copies the
	skeletons in a CPSA source file into separate files.

2014-08-23  John D. Ramsdell  <ramsdell@mitre.org>

	* src/cpsajson.py (load): Added a reader in Python for JSON
	produced by CPSA's pretty printer program cpsa3pp -j.

2014-08-22  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPSA/JSON/Main.hs: Added the program cpsa3json that
	translates JSON encoded CPSA into CPSA S-Expressions.  It expects
	the JSON input to follow the conventions of the JSON produced by
	the cpsapp program when given the -j option.

	* src/CPSA/Lib/SExpr.hs (numOrSym): Enabled parsing a number with
	a plus sign by removing the sign before translating the string of
	digits into a number.

2014-06-12  John D.  Ramsdell  <ramsdell@mitre.org>

	* cpsa3.cabal (Version): Tagged as 3.0.3.

2014-02-06  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa3.cabal (Version): Tagged as 3.0.2.

2013-12-14  John D. Ramsdell  <ramsdell@mitre.org>

	* cpsa3.cabal (Version): Tagged as 3.0.1.

	* cpsa3.cabal (Extra-Source-Files): Added more DH tests

2013-03-12  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPET/Annotations/Annotations.hs (obligation): Replaced an
	irrefutable pattern that raised an exception with a maybeToList.

2013-02-21  John D. Ramsdell  <ramsdell@mitre.org>

	* src/CPET/DiffieHellman/Algebra.hs: Added the Diffie-Hellman
	algebra based on Abelian groups.

	* src/CPET/Basic/Algebra.hs:  Removed support for GHC 6.x.

2013-02-06  John D. Ramsdell  <ramsdell@mitre.org>

	* cpet.cabal (Version): Tagged as 0.0.0.