-
Notifications
You must be signed in to change notification settings - Fork 20
/
RELEASE-NOTES.txt
859 lines (604 loc) · 31.3 KB
/
RELEASE-NOTES.txt
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
AceQL HTTP
Release Notes
Introduction
------------
AceQL HTTP is a secure framework of REST like HTTP APIs that allow to
access to remote SQL databases over HTTP from any device that supports HTTP.
AceQL HTTP is provided with three client SDKs:
- The AceQL C# Client SDK allows to wrap the HTTP APIs using Microsoft SQL
Server like calls in their code, just like they would for a local database.
- The AceQL Client JDBC Driver allows to wrap the HTTP APIs using Java and
JDBC calls in their code, just like they would for a local database.
- The AceQL Python Client SDK allows SQL calls to be encoded with standard
unmodified DB-API 2.0 syntax.
Security has been taken into account from the design: it is allowed to specify
and code strong security rules in order to protect the databases.
AceQL HTTP is licensed through the Business Source License 1.1.
(https://github.com/kawansoft/aceql-http/blob/12.2/LICENSE.TXT)
AceQL HTTP Version 12.3 - 15-Jun-2024
-------------------------------------
What's New:
- Table names are now case-sensitive when using Metadata calls.
- This allows AceQL to work correctly with SQL Server case-sensitive databases.
IMPORTANT NOTE:
If you need to use `sslConnector.SSLCertificateFile` instead of
`sslConnector.keystoreFile` to enable SSL/TLS, please refer to this issue,
which provides a solution:
https://github.com/kawansoft/aceql-http/issues/31.
AceQL HTTP Version 12.2 - 21-Feb-2023
-------------------------------------
What's New:
- BlobUploadConfigurator contains now the getMaxBlobLength()
method. This allows fixing a Blob upload size limit in order
to avoid a DOS attack aimed to saturate the AceQL server.
- The new LimitsInfo API allows the future versions of client SDKs to retrieve
limits info defined on the server side. How-to usage will be updated in
user documentation of C# SDK, JDBC Driver, and Python SDK.
- Tomcat base libraries have been upgraded to 9.0.71 for
reliability and performance reasons.
AceQL HTTP Version 12.1 - 06-Dec-2022
-------------------------------------
What's New:
- Tomcat base libraries have been upgraded to 9.0.70 for
reliability and performance reasons.
- PostgreSQL base libraries have been upgraded to 42.5.13 for
security reasons.
Bugs fixed:
- An Oracle database stored procedure that returns a SELECT would
in some special cases support only one IN or IN / OUT parameter.
This has been fixed.
- Minor Javadoc errors have been fixed.
AceQL HTTP Version 12.0 - 21-Nov-2022
-------------------------------------
- AceQL HTTP license has been changed from GNU Lesser General
Public License version 2.1 to the Business Source License version 1.1
(BSL 1.1). The client SDKs (C#, Java, and Python) will remain using
Apache licensing.
- AceQL HTTP base code is now unique. There is no more code difference
between different Editions/Plans, but only licensing rights.
This simplifies a lot of code maintenance and allows all users to benefit
from all features and updates.
- Firewall management includes a new operational mode. This allows automatic
recording of white lists. See the user documentation.
- The StatementNormalizer class has been rewritten with all string and numeric
values replaced by question marks. This allows both powerful white list
checks and easy recording of white lists. See user documentation and
StatementNormalizer Javadoc at: https://tinyurl.com/statementNormalizer.
- All logging is now done using SLF4J in order to allow
one to choose its preferred logging implementation. See
org.kawanfw.sql.api.server.logging package content.
Default implementation uses Logback (https://logback.qos.ch).
- Default logging may be fully configured using only properties files.
This is much easier and does not require any Java code writing & deployment.
Of course, it's still possible for advanced users to write and deploy
their own SLF4J Java implementation.
- Client IP detection has been enhanced by also testing X-FORWARDED-FOR header
value.
- The new HealthCheck API allows the future versions of client SDKs to retrieve
server memory info. How-to usage will be updated in user documentation
of C# SDK, JDBC Driver and Python SDK.
- SqlFirewallManager interface: the method allowExecute has been removed,
because it was confusing in its naming and the real need for use was
not strong enough.
- DefaultSqlFirewallManager, the default SqlFirewallManager interface
implementation, has been removed. The need for use was not strong enough
and would complicate SqlFirewallManager implementations with cumbersome &
not real necessary inheritance architecture.
(All SqlFirewallManager implementations have been thus retrofitted and
do not refer any more DefaultSqlFirewallManager.)
- DefaultUpdateListener, the default UpdateListener interface
implementation, has been removed. The need for use was not strong enough
and would complicate UpdateListener implementations with cumbersome &
not real necessary inheritance architecture.
- DefaultSqlFirewallTrigger, a default SqlFirewallTrigger implementation
that did nothing and would slow down the software, has been removed.
- DefaultUserAuthenticator, a default UserAuthenticator implementation
that did nothing and would slow down the software, has been removed.
- DefaultRequestHeadersAuthenticator, a default RequestHeadersAuthenticator
implementation that did nothing and would slow down the software, has been
removed.
- The Maven maven-source-plugin is now used to build the runnable jar and
the sources jar.
- Tomcat base libraries have been upgraded to 9.0.69.
- Auth0 library has been upgraded to 4.2.1 in order to upgrade automatically
Jackson base libraries to 2.13.4 for security reasons.
- PostgreSQL library has been upgraded to 42.3.7 for
security reasons.
AceQL HTTP Version 11.1b - 22-Jun-2022 (Linux/Unix only)
--------------------------------------------------------
Bugs fixed:
- The new June 22, 2002 Unix/linux installer aceql-http-11.1b.run
replaces the previous aceql-http-11.1.run because of a jar
generation bug that would sometimes make
the software fail when running the Enterprise Edition.
AceQL HTTP Version 11.1 - 15-Jun-2022
-------------------------------------
- Default values of ThreadPoolExecutor creation have been changed in
the conf/aceql-server.properties file (ThreadPoolExecutor Section).
- 1) The Queue used is now an always empty
java.util.concurrent.SynchronousQueue in order to completely avoid
queuing SQL orders, as we don't know how long they will run.
Filling a Queue, especially a large one,
could block waiting users when a long SQL order is processed.
Now, per default, a new Thread is systematically created if a
SQL request needs one for execution.
- 2) keepAliveTime is now 60 seconds.
- 3) For Community Edition: A message warning displays at startup if
the ThreadPoolExecutor properties values in the used
aceql-server.proprties file are not the same as the new values.
- 4) For Enterprise Edition: A message warning displays at startup if
the "workQueueClassName" property value is not
"java.util.concurrent.SynchronousQueue" and if the
"capacity" property value is > 100.
- Core Threads (corePoolSize value) are now all pre-started per default.
This ensures that client users feel the lowest latency possible
when their client app calls SQL statements.
This default behavior may be ignored, see User Documentation.
- Enterprise Edition: at server startup, the remaining days and expiration
date of the current license is displayed/
- Maven is now used - instead of Ant - to build the deployed runnable
jar and sources jar.
AceQL HTTP Version 11 - 10-Jun-2022
-----------------------------------
What's New:
- Software has been divided into a Community (free & open source) and
an Enterprise version. See www.aceql.com/pricing and user documentation
for more info.
- StatementNormalizer creation. See Javadoc.
- TCL calls are not any more firewalled because
of unnecessary implementation complexity and because it's globally useless.
- The DenyTclManager SqlFirewallManager has thus been suppressed because
TCL calls are not any more firewalled.
- Add DenyOnBlacklistManager & AllowOnlyOnWhitelistManager.
- DenyExecuteUpdateManager has been renamed to less ambiguous name
DenyDatabaseWriteManager.
- runIfStatementRefused() has been moved from SqlFirewallManager interface
to new SqlFirewallTrigger interface.
- New SqlFirewallTrigger.runIfStatementRefused() implementations:
BanUserSqlFirewallTrigger, BeeperSqlFirewallTrigger,
JdbcLoggerSqlFirewallTrigger, JsonLoggerSqlFirewallTrigger.
- Add UpdateListener calls to batch methods.
- DefaultPropertiesPasswordManager: the properties_password_manager.properties
file must now be located in the same directory of the aceql-server.properties
file.
- Tomcat base libraries have been upgraded to 9.0.64.
- PostgreSQL base libraries have been upgraded to 42.3.3 for
security reasons.
- Gson base libraries have been upgraded to 2.8.9 for
security reasons.
AceQL HTTP Version 10.2 - 07-Feb-2022
-------------------------------------
What's New:
- New LdapUserAuthenticator properties are defined
in aceql-server.properties: ldapUserAuthenticator.securityAuthentication
& ldapUserAuthenticator.securityProtocol.
- Tomcat base libraries have been upgraded to 9.0.58.
- Postgresql base libraries have been upgraded to 42.3.2.
Bugs fixed:
- SqlEvent.toString() and ClientEvent.toString() would not display
correctly parameter values. This has been fixed.
AceQL HTTP Version 10.1 - 04-Jan-2022
-------------------------------------
What's New:
- The new JdbcUserAuthenticator allows the client-side to authenticate
using a JDBC query against a SQL table. See JdbcUserAuthenticator
Javadoc and User Guide.
- The new ServerQueryExecutor allows future versions of C#, Python,
and Java JDBC Driver client versions to call a server Java program
that returns a ResultSet. See ServerQueryExecutor Javadoc for more info.
This will be fully documented later in the future client versions
to be released in January 2022.
AceQL HTTP Version 10.0 - 21-Dec-2021
-------------------------------------
What's New:
- The CsvRulesManager now reload all rules if the CSV is updated.
- The new CsvRulesManagerNoReload SqlFirewallManager implementation
works the same as CsvRulesManager, but prohibits the reloading of
the rules if the CSV file is updated.
- SqlActionEvent has been renamed to SqlEvent and moved to
org.kawanfw.sql.api.server package.
- SqlEvent has a new parameter getter: isMetadataQuery().
- SqlEvent.getParameterStringValues() allows to get the list
of parameters object values casted to string.
- The SqlFirewallManager APIs have been refactored to limit the
number of parameters to some methods. The new SqlEvent class is used
for this.
- Tomcat base libraries have been upgraded to 9.0.56.
Bugs fixed:
- org.kawanfw.sql.api.server.StatementAnalyzerUtil was public instead
of hidden. This has been fixed.
AceQL HTTP Version 9.0 - 02-Dec-2021
------------------------------------
What's New:
- The new UpdateListener interface allows to define listeners and thus actions
to trigger when a database is updated.
- The new /get_database_info API allows client side programs to easily
get all info about the remote database and the remote JDBC Driver.
Bugs fixed:
- A default Java icon instead of the AceQL icon was displayed in one of the
message window. This has been fixed.
- StatementAnalyzer was missing the isInsert() method. This has been fixed.
AceQL HTTP Version 8.2 - 06-Nov-2021
------------------------------------
What's New:
- The new Logger format provided by DefaultDatabaseConfigurator.getLogger()
includes now trailing date/time.
- DefaultDatabaseConfigurator: Multi-line log messages are now per default
flattened into one line log entry/message. This may be changed by overriding
DefaultDatabaseConfigurator flattenLogMessages boolean value. See code.
- PropertiesEncryptor class call is now done using a Windows bat or Linux Bash.
See Server Installation and Configuration Guide.
Bugs fixed:
- sqlFirewallManagerClassNames split on comma separated class names could fail.
This has been fixed.
AceQL HTTP Version 8.1 - 19-Oct-2021
------------------------------------
What's New:
- Tomcat base libraries have been upgraded to 9.0.54.
Bugs fixed:
- StatementAnalyzer.isWithSemicolons() would always return false.
This has been fixed.
- Spaces were not supported around commas in sqlFirewallManagerClassNames
array in the aceql-server.properties files. This has been fixed.
- sqlFirewallManager.runIfStatementRefused() would not set the values of
parameter List<Object> parameterValues on some SQL calls. This has been fixed.
- A SELECT containing a column named FULLTEXT induced request rejection by
any SqlFirewallManager implementation. The bug is due to an external
Java library code. This has been temporarily fixed by replacing FULLTEXT
occurrences by _FULLTEXT_ when checking the SELECT.
AceQL HTTP Version 8.0 - 01-Sep-2021
------------------------------------
What's New:
- AceQL Server may be run in stateless mode. See conf/aceql-server.properties
comments the AceQL Manager Servlet Section & User Documentation.
- Core has be changed to support INSERT and UPDATE calls in batch
mode from C# Client SDK, Java Client JDBC Driver, and Python Client SDK.
- The garbage collectors thread for the abandoned/unclosed JDBC Connections
has been suppressed in order to simplify the architecture. Cleanup is now
done using a Tomcat JdbcInterceptor class implementation. This eliminates
the need for a dedicated background thread.
- Tomcat base libraries have been upgraded to 9.0.52.
- Waffle library has been upgraded to 3.0.0.
AceQL HTTP Version 7.2 - 15-Jun-2021
------------------------------------
What's New:
- Savepoints are now fully supported. See API documentation.
Corresponding JDBC calls will be implemented in the next version of the
AceQL Client JDBC Driver.
- The new provided DenyTclManager (SqlFirewallManager implementation) allows
to deny TCL (Transaction Control Language) calls.
AceQL HTTP Version 7.1 - 07-May-2021
------------------------------------
What's New:
- Output speed of SELECT calls has been improved.
- Commons IO Apache library has been upgraded to 2.7.
Bugs fixed:
- Properties were not displayed in the correct order on the console
at server startup. This has been fixed.
AceQL HTTP Version 7.0 - 20-Apr-2021
------------------------------------
What's New:
- The new PropertiesPassworManager interface allows to define a password
for encrypting property values in the aceql-server.properties file.
- Tomcat embedded version has been updated from 8.5 to 9.0 (9.0.45).
- The Windows user interface design uses now a more modern Look and Feel.
- The Windows user interface supports now the dark mode.
Bugs fixed:
- Ugly embedded Tomcat messages/logging on startup have been disabled.
- DefaultPoolsInfo debug mode was true per default. This has been fixed.
AceQL HTTP Version 6.4 - 16-Feb-2021
------------------------------------
What's New:
- Java start parameters values have been changed to -Xms256M -Xmx4096M for
Linux version.
- Tomcat base libraries have been upgraded to 8.5.63.
AceQL HTTP Version 6.3 - 05-Dec-2020
------------------------------------
What's New:
- In addition to UserAuthenticator, the new RequestHeadersAuthenticator interface
provides an alternate or supplementary authentication mechanism.
RequestHeadersAuthenticator implementation allows to check the HTTP request
headers sent by the client side, and thus to grant or forbid access to the AceQL Server.
- Tomcat base libraries have been upgraded to 8.5.60.
AceQL HTTP Version 6.2 - 17-Nov-2020
------------------------------------
What's New:
- The new session.timelifeMinutes property in aceql-server.properties file
allows defining the session lifetime of client users without any programming.
- In SessionConfigurator interface and dependencies: the getSessionTimelife() method
has been renamed to getSessionTimelifeMinutes() for the sake of clarity.
Bugs fixed:
- JwtSessionConfigurator.verifySessionId(String sessionId) and
DefaultSessionConfigurator.verifySessionId(String sessionId) would not
verify correctly session expirations. This has been fixed.
AceQL HTTP Version 6.1 - 24-Oct-2020
------------------------------------
What's New:
- Default Java memory configurations are now -Xms256m -Xmx4096m on both
Windows and Linux in order to support a heavy load.
- Most base libraries have been upgraded to the latest version.
AceQL HTTP Version 6.0 - 19-Sep-2020
------------------------------------
What's New:
- Java vendor and version are displayed at server startup.
- JDBC Statement.execute() calls are now supported.
- Statement.setMaxRows(int) is now supported when called
by a Java client.
- The aceql-server.properties model file contains now documentation
on testOnBorrow & validationQuery attributes and how to ensure that
the JDBC Connection Pool will still accessible after the restart
of the SQL engine in use.
- Implement server side JDBC metadata calls. This will
allow the Client Java SDK to be plugged as a real JDBC Driver.
(The AceQL JDBC Driver is work in progress).
- Add /get_catalog and /get_schema API.
- Included PostgreSQL Driver has been updated to 42.2.5.
- Tomcat base libraries have been upgraded to 8.5.58.
Bugs fixed:
- An SQLException could be swallowed during a transaction (autocommit off). This
could lead to subsequent errors when trying to re-use the Connection in some
db engines such as PostgreSQL.
(org.postgresql.util.PSQLException: ERROR: current transaction is aborted,
commands ignored until end of transaction block).
This has been fixed: Connections in autocommit off are now always rollbacked
in case of SQLException.
- Columns were in lowercase when sent to the client. This has been fixed.
- Empty string SQL parameters ("") were refused by the AceQL Server.
This has been fixed.
AceQL HTTP Version 5.1 - 03-Aug-2020
------------------------------------
What's New:
- The new API WebServerAPI.isServerRunning() has been added.
- An error message is displayed if an attempt of calling more than one
AceQL instance in the JVM is detected.
- NullPointerException throws are replaced by Objects.requireNonNull().
This makes easier for API users to debug NullPointerExceptions.
- Tomcat base libraries have been updated to 8.5.57 because of security
requirements.
Bugs fixed:
- Remote client Windows authentication calls could stop the server. This has
been fixed.
- The database schema download could fail for SQL Server. This has
been fixed.
AceQL HTTP Version 5.0.4 - 04-Jul-2020
--------------------------------------
What's New:
- Some base libraries have been updated.
- The conf/aceql-server.properties includes now an example of the usage of
the Tomcat JDBC Pool removeAbandoned & removeAbandonedTimeout properties.
Bugs fixed:
- nvarchar, nchar, ntext would not support NULL values. This has been fixed.
AceQL HTTP Version 5.0.3 - 15-Jun-2020
--------------------------------------
What's New:
- Windows interface signals when the user tries to reopen the app instead
of redisplaying it from the taskbar.
- Tomcat base libraries have been updated to 8.5.56 because of security
requirements.
Bugs fixed:
- Float values could be rounded. This could be a problem for Python client SDK.
This has been fixed.
WINDOWS VERSION ONLY - AceQL HTTP Version 5.0.2b - 25-Apr-2020
---------------------------------------------------------------
What's New:
- Support for Java 13 and 14.
It is highly recommended to upgrade to this AceQL version on all
Windows installations using Java > 8.
AceQL HTTP Version 5.0.2 - 22-Apr-2020
--------------------------------------
What's New:
- Javadoc has been enhanced for the UserAuthenticator interface and for
the provided implementation classes.
- Special chars (in escaped format) are now supported in LDAP Distinguished Names.
Bugs fixed:
- The schema produced by the db_schema_download API would not include correctly
the database tables with MS SQL Server. This has been fixed.
AceQL HTTP Version 5.0.1 - 10-Apr-2020
--------------------------------------
Bugs fixed:
- SELECT calls with more than 20Kb output could randomly fail because
of a bug in Glassfish javax.json JSON parser that inserts a \r\n at
each 20Kb output.
This has been fixed by calling JsonGenerator.flush() on each
SQL row dump.
AceQL HTTP Version 5.0 - 08-Apr-2020
------------------------------------
What's New:
- The software has been rewritten to allow quick start & standard usage
without any coding and without code injection: standard but complete
configuration may be done entirely by defining values in the
aceql-server.properties file.
Sophisticated firewalling can be done through a CSV File without any coding.
Advanced usage is still possible through code injection using Java classes.
- The new authentication architecture allows to plug-and-play existing built-in
authentication classes without any coding or code injection, just by defining
values in the aceql-server.properties file.
This version provides default authentication against a LDAP server, against a
SSH Server, against a Windows Server and against a Web Service.
Your own legacy authentication usage is nonetheless supported through code
injection with Java classes.
- The aceql-server.properties file has been reorganized and simplified.
- JSON parser javax.json has been updated to 1.1.4. Tomcat base libraries
have been updated to 8.3.53 because of Security requirements.
AceQL HTTP Version 4.1 - 13-Feb-2020
------------------------------------
What's New:
- The new CsvRulesManager SqlFirewallManager implementation allows to
fine control access to SQL tables without any Java programming.
Rules are declared in a CSV file that is loaded at server startup.
Rules are checked for each incoming SQL call.
See the User Guides & Javadoc for more info.
AceQL HTTP Version 4.0 - 15-Jan-2020
------------------------------------
What's New:
- SQL firewalling is now done through the SqlFirewallManager
interface. SqlFirewallManager concrete classes may be chained
to easily add new rulesets. This also allows to
properly isolate and reuse firewalling code.
Default built-in implementations are provided for an easy
startup without any coding.
- The new metadata API allows downloading a remote database schema
in HTML or text format, to get a remote database main properties,
to get the list of tables, and to get the details of each table.
It also allows wrapping remote tables, columns, indexes, etc. into
easy to use provided Java, C# and Python classes in the client SDKs:
Table, Index, Column, etc.
HTML and text schemas are rendered with SchemaCrawler (www.schemacrawler.com).
The metadata API allows exposing more easily the databases along with the
schemas, without any need to communicate, maintain or synchronize separated
documentation for the API users. Users are thus autonomous to explore
the metadata and schema of the exposed databases.
- StatementAnalyzer has been retrofitted with an external heavily used
and highly supported SQL parser (JSqlParser library -
https://github.com/JSQLParser/JSqlParser).
- Tomcat base libraries have been updated to 8.5.50 (Security requirements).
- AceQL HTTP requires now Java 8 or higher.
AceQL HTTP Version 3.2.2 - 16-Sep-2019
--------------------------------------
Bugs fixed:
- DECIMAL SQL type passed from client side was ignored. Thus has been fixed.
- DATE, TIME, TIMESTAMP could be malformed when called from a stored
procedure this has been fixed.
What's new:
- Update Tomcat base libraries to 8.5.45 (Security requirements).
AceQL HTTP Version 3.2.1 - 10-aug-2019
---------------------------------------
Bugs fixed:
- aceql-server -stop was returning -1 exit code instead of 0. It
could cause a problem when using CI tools like Jenkins. This has been fixed.
AceQL HTTP Version 3.2 - 23-apr-2019
------------------------------------
What's new:
- Update Tomcat base libraries to 8.5.40 (Security requirements).
AceQL HTTP Version 3.1 - 24-dec-2018
------------------------------------
What's new:
- destroy() call has been added to main servlet ServerSqlManager for
clean shutdown of ThreadPoolExecutor without warnings.
Bugs fixed:
- HttpServletRequestHolder could in rare cases collide request parameters
from concurrent clients. This has been fixed.
AceQL HTTP Version 3.0 - 17-dec-2018
------------------------------------
- AceQL open source / Community Edition now supports all main database
vendors.
- Main servlet is now async for better reliability and performances.
- DatabaseConfigurator.allowStatementAfterAnalysis method
has been renamed to allowSqlRunAfterAnalysis for the sake of
clarity.
- Uses newest Tomcat 8.5.35 embedded libraries for security reasons.
- Update other misc Maven dependencies.
AceQL HTTP Version 2.1 - 18-jun-2018
------------------------------------
What's new:
- This version now supports stored procedure calls from client side.
See you preferred AceQL client SDK for usage.
- Server could crash in case or RuntimeException. These runtime exceptions
are now caught.
- Windows version is now fully 64 bit.
AceQL HTTP Version 2.0 - 28-feb-2018
------------------------------------
What's new:
- Server allows to create new Connection without re-authentication.
- It is now possible to create and use from client side more than
one Connection on the same database.
- Stateful mode is now the main and only mode. This simplifies
the software architecture, the user documentation and ease of
used for developers.
- DatabaseConfigurator.getConnectionMaxAge() has been removed
because of duplicate usage. (Same kind of value can be set when
defining Connection pool whatever pool system is used).
- DefaultSessionConfigurator: getSessionTimelife() is now 0
(infinite session lifetime) instead of 12 hours.
- Connections Store cleaning has been completely rewritten. A
cleaning thread is regularly launched instead of a permanent
thread.
- Use last Tomcat 8.5 librairies (v. 8.5.28).
WINDOWS VERSION ONLY - AceQL HTTP Version 1.0 - 27-dec-2017
-----------------------------------------------------------
What's new:
- Java 9 is now fully supported on Windows.
AceQL HTTP Version 1.0 - 20-dec-2017
------------------------------------
What's new:
- Java 9 is now fully supported on Linux.
- DefaultDatabaseConfigurator.getConnectionMaxAge() returns now 0
for consistency with other APIs.
- Dependencies have been updated.
- As Beta period is expired, AceQL HTTP Professional requires now
a 30-day license key.
Bugs fixed:
- Setting DatabaseConfigurator.getConnectionMaxAge() to 0 was
not taken into account by internal code. This has been fixed.
PRO EDITION ONLY - AceQL HTTP Version 1.0-beta-5.2 - 31-oct-2017
----------------------------------------------------------------
What's new:
- Beta period has been extended to November 10, 2017.
WINDOWS VERSION ONLY - AceQL HTTP Version 1.0-beta-5.1 - 20-sep-2017
--------------------------------------------------------------------
What's new:
- An item menu has been added in Help Menu to display Release Notes.
- Standard Mode: useless & annoying Tomcat red warnings messages
are not anymore displayed at server startup.
- Jar icons are displayed.
AceQL HTTP Version 1.0-beta-5 - 13-sep-2017
-------------------------------------------
What's New:
- The signature of DatabaseConfigurator.login method has been changed
and has 2 more parameters: database and ipAddress.
This allows implementation code to know to which database the
client wants to connect and to get IP address of client if
necessary for security reasons.
- Thus, the previous 1.0-beta-4 DatabaseConfigurator implementations
are not compatible with this 1.0-beta-5 version: the login method
signature must be changed.
- The org.kawanfw.sql.api.server.util.HttpServletRequestStore and
org.kawanfw.sql.api.server.util.ServerInfo have been suppressed.
The methods were useless.
- The Tomcat dependencies have been updated to in order to use last
8.5.20 version.
- The property sslConnector.keyAlias must now be defined for SSL
activation. This is imposed by Tomcat version 8.5.20.
- Windows version: the JDBC Drivers installation is now done with
a "Browse" or paste/copy of files.
Bugs fixed:
- Windows version: the console could display warnings and hang.
This has been fixed.
- Miscellaneous Javadoc errors.
AceQL HTTP Version 1.0-beta-4 - 04-sep-2017
-------------------------------------------
What's New:
- In aceql-server.properties files: database is now the prefix for all
properties (instead of being the trailer in previous versions.)
- Windows version has now a clean installer and all configuration is done
through a provided Window interface.
- Windows: Server run may be configured as a Windows service. Configuration
& start/stop is done through the provided Windows interface.
- Linux: AceQL HTTP Web Server run may be configured as an /etc/init.d
service. A documented and ready to use script is provided.
- It is now possible to add servlets that can interact with JDBC pools
when server is running. See conf/aceql-server.properties file.
- A default servlet is provided for JDBC pools query and update while server
is running. See conf/aceql-server.properties file.
Bugs fixed:
- The bound Web port was not correctly released at AceQL server stop for reuse
in the same JVM. This has been fixed.
- There was a missing carriage return line feed after execute_update
and execute_query APIs. This has been fixed.
AceQL HTTP Version 1.0-beta-3 - 17-jul-2017
-------------------------------------------
What's New:
- AceQL uses now embedded Tomcat version 8.5.
- ConnectionStore has been cleaned & simplified
(no more Map to store if a Connection is Stateless/Stateful).
AceQL HTTP Version 1.0-beta-2 - 07-jul-2017
-------------------------------------------
What's New:
- Server Result Sets were dumped into an intermediary file.
Result Sets are now dumped directly on servlet output stream.
Bugs fixed:
- A SQLException logging message could throw an Exception. This has been fixed.
AceQL HTTP Version 1.0-beta-1 - 27-jun-2017
-------------------------------------------
What's New:
- First release.