Newer
Older
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
2018-07-25 : 2.0.13:
- WIA: Support of Canon MG3051: Fix getting data from the drivers
(a Python byte buffer was reused instead of being duplicated)
- WIA: Support of Epson Perfection scanners: Handle resolution range correctly
(3 values provided instead of 2)
- Sane: Support of Epson DS-310: Do not try to set a value on an option that
can have only one value. Sane driver may return an error.
- WIA: Support of Epson WorkForce ES-300W:
* call to seek(0) wasn't handled properly
* scan must be done on root WIAItem
2018-03-05 : 2.0.12:
- Build method has been changed: Use now "make install" instead of
"python3 ./setup.py install"
- WIA: Add traces (from the C++ code, but using the Python logging module)
- WIA: Fix behavior regarding feeders (Brother MFC-7360N for instance)
2018-02-22 : 2.0.11:
- Add pyinsane2.__version__
- Sane: Normalize behavior between single and multi scan: Single scan must raise a StopIteration
after the first EOFError
- Sane/daemon: remove trace that reduced badly the performances
- Build: Add Makefile (if working directly on the Git version, please use now
'make install' instead of 'python3 ./setup.py install')
2017-07-11 : 2.0.10:
- Now works with 'setup.py develop' (thanks to Matthieu Coudron)
- WIA: Some drivers (Lexmark for instance) returns WIA_ERROR_PAPER_EMPTY when
calling transfer->Download() instead of returning a shorted image (like HP)
- MacOSX + Sane: disable dedicated process workaround (doesn't work)
- WIA: Minor optimisation (Use collections.deque() instead of list.pop())
- Sane/exit(): Exit gracefully
2016-12-06 : 2.0.9:
- Sane: Add workaround for scanners Samsung M288x: Option 'source' is actually
called 'doc-source'
2016-12-04 : 2.0.8:
- WIA: Set various options to default values to avoid problems when scanning
- WIA: Fix ADF support: clearly tell the driver we intend to scan pages one
by one (required for support of Brother MFC-7360N)
- WIA: Workaround: Prioritize source options over scanner options (required
for support of Brother MFC-7360N)
- WIA: Fix behavior of PyinsaneImageStream::Write() (required for support of
Brother MFC-7360N)
- Sane/Add workaround for Lexmark MFP: the option "resolution" is actually
called "scan-resolution"
2016-11-22 : v2.0.7:
- set_scanner_opt(): Fix the list of exceptions to catch when actually setting the option
- Windows/WIA: Fix: If scanning only one page, at the end of page, don't request the next page
- Windows/WIA: Make setting options more resilient to crappy drivers
- Windows/WIA: Add __str__() on most objects (useful for diagnostic)
2016-11-19 : v2.0.6:
- Windows/WIA: Fix ADF support
- Windows/WIA: Fix support of some flatbed scanners
2016-11-18 : v2.0.5:
- Windows/WIA: Also look for network scanners
2016-11-18 : v2.0.4:
- Released not done correctly. No changes with 2.0.3
2016-11-10 : v2.0.3:
- Windows/WIA: Fix build
- set_scanner_opt(): Fix exception raised when trying to set an option that is
not active
2016-09-22 : v2.0.1 --> v2.0.2:
- Add MANIFEST.in (.cpp and .h files were not included in package ...)
2016-09-22 : v2.0.0 --> v2.0.1:
- pyinsane2.set_scanner_opt(): Check the option is active before trying
setting it
- Change slightly the output str(scanner_device) (remove useless "Scanner: ")
2016-09-20 : v1.4.0 --> v2.0.0
- API has been redesigned so it can handle backends other than libsane (rename
SaneException into PyinsaneException, etc)
- Add support for Windows Image Acquisition API (v2)
- pyinsane2.init() + pyinsane2.exit() added
- pyinsane2.sane.abstract_th removed
2016-07-27 : v1.3.8 --> 1.4.0
- Add a workaround for Sane driver crashes and memory corruptions ('abstract_proc')
- Python 3 support: Constraints must be str() objects, not bytes()
- OS X support
- Rawapi: Fix: When Sane is not available, 'import pyinsane.rawapi' should actually work, but pyinsane.rawapi.is_sane_available() should return False
- RawApi: Fix mistake preventing authentication
- Methods '__del__' removed on Pyinsane's objects
2014-08-10 : v1.3.7 --> v1.3.8
- Fix scan from feeder (multiscan)
2014-07-09 : v1.3.6 --> v1.3.7
- Fix: On some scanner, the option 'source' is not active and shouldn't be
used (prevented scans)
2014-05-01 : v1.3.5 --> v1.3.6
- Keep the behavior of scanner.options[].value always consistent: if an option is not active, we should always raise an exception
- Fix Python 3 support
- Improve tests
2014-03-05 : v1.3.4 --> v1.3.5
- Fix Mode=LineArt support
2013-11-05 : v1.3.3 --> v1.3.4:
- Fix Python 3 support (again): fix imports
2013-10-12 : v1.3.2 --> v1.3.3:
- Abstract: Fix python 3 support
2013-09-25 : v1.3.1 --> v1.3.2:
- Fix ADF support:
- Request the next page(s) correctly (the call to sane_start() was missing)
- Make sure each new page raises an exception EOFError, even the last one
- Fix image spliting
2013-09-22 : v1.3.0 --> v1.3.1:
- Add a workaround to prevent crash when multithreaded programs stop :
never call sane_exit().
2013-09-08 : v1.2.2 --> v1.3.0:
- Changes made to the abstract API (previous functions are still available but
deprecated)
- Add functions and info to get the scanned image as the scan goes
2013-08-31 : v1.2.1 --> v1.2.2:
- Abstract: Fix scanner options handling
2013-08-19 : v1.2.0 --> v1.2.1:
- Fix exception raising in abstract_th
2013-08-18 : v1.1.0 --> v1.2.0:
- Python 3.x support
2013-07-06 : v1.0.3 --> v1.1.0:
- API cleanup : make some classes of rawapi available directly from the
abstract modules
- Fix feeder support on scanners where the source is called
'Automatic Document Feeder' instead of 'ADF'
2013-06-30 : v1.0.2 --> v1.0.3:
- rawpi: SaneEnum: Add method __eq__ to make value comparisons easier
- list_all.py / scan.py : Take into account some scanner specificities
2013-05-19 : v1.0.1 --> v1.0.2:
- Switch from PIL to Pillow
2013-05-05 : v1.0.0 --> v1.0.1:
- Fix "Lineart" / "Binary" mode support