-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathNEWS
More file actions
175 lines (116 loc) · 6.53 KB
/
Copy pathNEWS
File metadata and controls
175 lines (116 loc) · 6.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
-*- mode: outline; coding: utf-8 -*-
* Changes in version 1.5
** (weinholt net otr): Support for OTR version 3
This release supports Off-the-Record Messaging Protocol version 3.
This new version of the protocol uses instance tags, which are used to
distinguish between different OTR sessions. This fixes a problem with
chat networks that allow multiple logins. The new version also defines
an extra symmetrical key that can be used by out-of-band protocols.
** (weinholt text base64): Optimized decoder and new non-strict mode
The Base 64 decoder has been optimized and is approximately six times
faster. In addition it can optionally ignore non-alphabet characters.
* Changes in version 1.4
** New license terms
Previous versions of Industria were licensed under the GNU GPL v3 or
later. Starting with this release Industria is instead available under
the MIT license. See LICENSE.txt for details.
** Library versioning will be removed
The library files in Industria have until now been using the library
versioning feature of R6RS. This feature has not received the kind of
support that I hoped for and is causing problems. The next version of
Industria will not have version numbers. If your import statements
look like this:
(import (weinholt disassembler i8080 (1 (>= 0)))
...)
Then you need to change them to look like this:
(import (weinholt disassembler i8080)
...)
** (weinholt disassembler x86): jnle was misinterpreted as XOP
* Changes in version 1.3
** (weinholt crypto crc): Pre-defined the crc-64/ecma polynomial
** (weinholt disassembler x86): Support for most AMD XOP instructions
** (weinholt compression xz): New decompressor for XZ data
This is a new library that implements a custom binary input port for
reading XZ compressed data. This is a container format for the LZMA2
compression algorithm and it is becoming popular as a replacement for
gzip and bzip2. Filters are not yet supported.
* Changes in version 1.2
** (weinholt binfmt elf): Parser for ELF binaries
This library provides parsers for various structures in ELF binaries.
It also exports many standard constants. The libraries were included
in previous releases, but had been undocumented. This release improves
the interface and includes documentation.
** (weinholt crypto ec): New library for elliptic curve cryptography
This new library implements basic elliptic curve cryptography over
finite prime fields. It exports mathematical operators, some standard
curves, and procedures for bytevector conversion of points.
** (weinholt crypto ec dsa): New library for elliptic curve DSA
This library is similar to (weinholt crypto dsa), except it works with
elliptic curves. ECDSA signatures can be generated and verified.
** (weinholt crypto rsa): Private key operations
Private RSA key operations have been implemented. See the manual for
more details.
** (weinholt crypto ssh-public-key): Support for ECDSA keys
Support has been added for elliptic curve DSA keys. The new procedure
ssh-public-key-algorithm returns the SSH algorithm identifier of a
key.
** (weinholt net ssh): New library for the Secure Shell protocol
This library implements the Secure Shell protocol. This is a protocol
widely used in the Internet as a secure replacement for telnet and
some other services. Both servers and clients can be implemented using
this library. It's not yet known if the provided interface is suitable
for interactive applications.
** (weinholt net tcp): Very simple TCP client library
This library provides the tcp-connect procedure, which simply opens a
TCP connection to a host and service. This requires implementation-
specific code, so the author is not eager to provide more than the
bare minimum. Code has been provided for most R6RS implementations.
** (weinholt struct pack): Fix infinite loop in a special case
When `pack!' can't determine field offsets at expansion time and it
needs to make sure the padding between two fields is set to zero, it
will residualize a call to the private procedure `bytevector-zero!'.
This procedure had a bug that caused it to never terminate if the
start and end indices differed.
** (weinholt text internet): Internet address parsing and formatting
This new library provides procedures for converting between string and
bytevector representations of IPv4 and IPv6 addresses. The IPv6
address text representation is the one recommended by RFC 5952.
* Changes in version 1.1
** (weinholt bytevectors): Added bytevector=?/constant-time
The procedure bytevector=?/constant-time compares two bytevectors by
summing up their differences.
** (weinholt crypto blowfish): New procedures for CBC mode
The procedures blowfish-cbc-encrypt! and blowfish-cbc-decrypt! were
added.
** (weinholt crypto dh): New library for Diffie-Hellman key exchange
This code was previously spread out in different libraries. The
library exports make-dh-secret, expt-mod and a few MODP groups.
** (weinholt crypto dsa): Better secret numbers for signatures
The per-message secret number used by dsa-create-signature is now
generated more in accordance with FIPS 186-3 Appendix B.2.1.
** (weinholt crypto md5): Added md5-96 and equality predicates
Added md5-length, md5-96-copy-hash!, md5-hash=? and md5-96-hash=?. The
-96 procedures work with the leftmost 96 bits of a hash. The equality
predicate compares an md5 state with a bytevector in a manner intended
to not leak timing information about the comparison.
** (weinholt crypto openpgp): New exports
Added port-ascii-armormed? which checks if the data on a binary input
port looks like a binary OpenPGP packet or not. The procedure
get-openpgp-packet was added to the exports.
** (weinholt crypto sha-1): Added sha-1-96 and equality predicates
Same changes as the md5 library.
** (weinholt crypto sha-2): Equality predicates and HMAC bug fix
Same changes as the md5 library except that the -96 procedures are
-128 here. There are also bug fixes: the procedures hmac-sha-384 and
hmac-sha-512 were previously defined using an incorrect block size.
This change makes the output incompatible with previous versions, so
the major version was incremented to 1. Another bug fixed was that the
hmac procedures couldn't handle key lengths larger than the block
size.
** (weinholt disassembler i8080): New disassembler for Intel 8080
This is a new disassembler for Intel 8080/8085, which was the
predecessor of the Intel 8086.
** (weinholt disassembler x86): Limit get-instruction to 15 bytes
Instructions on the x86 can at most be 15 bytes long. Previously this
limit was not enforced by get-instruction. Overlong instructions now
raise &invalid-opcode as expected.