*****************************************************************
NxCloud v4.7.4.8
  Author : Jahastech
  Homepage : http://www.nxfilter.org
  Contact : support@nxfilter.org
*****************************************************************

NxCloud is a property of Jahastech.


2026-05-20, v4.7.4.8
- 'synchronized' keyword has been added for UnivCache class.
- Baselist has been updated to v103806.


2026-04-16, v4.7.4.7
- Well-known domain list has been updated.
- Baselist has been updated to v103672.


2026-03-05, v4.7.4.6
- PEM file can be used for Tomcat HTTPS setup.
- Baselist has been updated to v103487.


2026-02-09, v4.7.4.4
- Baselist has been updated to v103354.


2026-01-07, v4.7.4.3
- Baselist has been updated to v103221.


2025-12-15, v4.7.4.2
- When UDP/53 binding to 0.0.0.0 fails, try to bind it to Block Redirection IP.


2025-11-28, v4.7.4.1
- 'jahaslist/categories.txt' file has been revised.
- Baselist has been updated to 6118358.


2025-11-03, v4.7.3.9
- DEB package installs openjdk-11-jre-headless as a dependency.
- Baselist has been updated to 6058641.


2025-10-08, v4.7.3.8
- 'Start Time' has been added to the slave node list in 'System > Cluster'.
- 'log_queue_size' option has been added in cfg.properties file.
- Baselist has been updated to 6031140.


2025-09-18, v4.7.3.6
- Embedded Tomcat has been updated to v9.0.109.


2025-09-08, v4.7.3.5
- Language files have been updated.
- Baselist has been updated to 5989282.


2025-08-09, v4.7.3.2
- Default pageLength for DataTable set to 25.


2025-07-29, v4.7.3.1
- Baselist has been updated to 5944017.


2025-06-26, v4.7.2.2
- Operator expiration date bug has been fixed.
- Jquery has been updated to version 3.7.1.
- Baselist has been updated to 5912417.


2025-05-27, v4.7.1.9
- Baselist has been updated to 5885165.


2025-04-25, v4.7.1.9
- 'domain-pattern.txt file has been updated'.
- Baselist has been updated to 5844428.


2025-03-22, v4.7.1.7
- Baselist has been updated to 5808127.


2025-02-25, v4.7.1.6
- Log data fetching limit bug for operator has been fixed.
- Baselist has been updated to 5768571.


2025-02-11, v4.7.1.5
- Checking for illegal IP range association has been strengthened.


2025-01-30, v4.7.1.4
- Miscategorized TLD in Jahaslist have been remmoved.
- Baselist has been updated to 5731716.


2025-01-21, v4.7.1.3
- Linking policies to the users detected by NxRelay is now possible.
- Baselist has been updated to 5720909.


2024-12-26, v4.7.1.2
- Whitelist import/export feature has been added.
- Baselist has been updated to 5688541.


2024-12-06, v4.7.1.1
- Potentially Insecure TLS cipher suites removed.
- 'https_ciphers' option added for 'cfg.properties'.
- Baselist has been updated to 5646038.


2024-11-19, v4.7.0.9
- Default SSL certificate expiration date has been extended.
- Baselist has been updated to 5615383.


2024-10-30, v4.7.0.8
- Baselist has been updated to 5584360.


2024-10-05, v4.7.0.7
- Check duplicated policy only for the same opeator.
- Baselist has been updated to 5533701.


2024-09-16, v4.7.0.6
- Synchronize domain categorization type from MasterCheck.sendHello.


2024-09-11, v4.7.0.5
- Baselist has been updated to 5487225.


2024-08-16, v4.7.0.3
- Stricter invalid domain check before adding Jahaslist.


2024-08-07, v4.7.0.2
- Baselist has been updated to 5442848.


2024-07-11, v4.7.0.1
- Baselist has been updated to 5397937.


2024-06-20, v4.6.9.9
- Remove license key on GUI for security.
- Baselist has been updated to 5373951.


2024-06-02, v4.6.9.8
- Answer section size limit for persistent cache has been increased to 2000.
- 'System > License' menu has been added.
- License file auto-synch between cluster nodes has been enabled.
- Baselist has been updated to 5350320.


2024-05-30, v4.6.9.6
- Increase max fetch limit to 100000 for loggging data list
- /bin/runcmd.* scripts added.
- Baselist has been updated to 5325868.


2024-04-27, v4.6.9.5
- Answer DoH canary domain query with 0.0.0.0.
- Bypass NxRelay query from Local Domain and Coniditional Forwarding.
- Don't delete IP indexing from DbCleaner.deleteOrphanedTrafficData.
- Baselist has been updated to 5298897.


2024-04-12, v4.6.9.3
- Initialize session for SmtpConn by each instance.
- Baselist has been updated to 5274963.


2024-04-02, v4.6.9.2
- Baselist has been updated to 5259216.


2024-03-05, v4.6.8.9
- 'Same as work-time policy' for free-time policy setup added on CloudWatch.
- Breadcrumb link has been added for easier navigation on CloudWatch.
- Tumblr and Blogspot HTTPS check has beed added for BlocklisUpdate.
- Log4j has been replace by Reload4j.
- Baselist has been updated to 5034874.


2024-02-23, v4.6.8.8
- Invalid domain check for JahaslistDao.importFile.
- System block list has been updated.
- User-agent string updated for internal web crawler.
- Breadcrumb link has been added for easier navigation on CloudWatch.
- 'Same as work-time policy' for free-time policy setup added on CloudWatch.
- Baselist has been updated to 4934874.


2024-02-05, v4.6.8.6
- Use in-memory lookup by LastError from BlockDao.
- Don't use TCP socket for /RUP, /CBK protocols.
- PolicyApplication has been removed.
- Baselist has been updated to 4674336.


2024-01-12, v4.6.8.5
- Baselist has been updated to 4617348.


2023-12-15, v4.6.8.4
- Use cloud classifier for Jahaslist remote update.
- Do not cloud classifier query when html.errFlag set.
- Recat by cloud classifier when classification score is higher than 105.
- Baselist has been updated to 4553610.


2023-11-22, v4.6.8.2
- WknownDic.isWellknownExactByRank has been added.
- Reset domain count in ServerProtection for top 10000 domains.
- Show update information on 'Classifier > Jahaslist'.
- Logger wrapper methods for FirstDao have been added.
- Set license from master node only if it's not empty.
- Slave node not having systemId bug has been fixed.
- Baselist has been updated to 4490475.


2023-10-23, v4.6.8.1
- Incorrect MIME type by CharsetFilter bug has been fixed.
- Baselist has been updated to 5206301.


2023-10-19, v4.6.7.9
- 'chkports' command for runcmd.sh script has been added.
- Error handling for UdpEncoder.decode has been added.
- Use nxfilter.org domain for Cloud classification queries.
- Baselist has been updated to 5181525.


2023-09-28, v4.6.7.8
- 'License Expiration' -> 'Account Expiration' for operator.
- 'Service Expired' -> 'Account Expired' for operator.
- Sending operator account expiration warning email to admin.
- Language files have been updated.
- Use e.getString() instead of e.getCause() for AlertDao.test().
- Operator expiration date format bug has been fixed.
- Baselist has been updated to 5140844.


2023-09-05, v4.6.7.7
- Drop packet by request type before adding it into request queue.
- Default request handler number has been increased to 16.
- Baselist has been updated to 5041092.


2023-08-15, v4.6.7.6
- Free Jahaslist license size has been increased to 30.
- Base request count for license checking has been increased to 4000.
- Baselist has been updated to 4938928.


2023-07-26, v4.6.7.4
- /webapps/example has been copied into /guipack/sandwatch.
- Baselist has been updated to 4858558.


2023-06-09, v4.6.7.3
- Support NxProxy for Android v1.0.1 has been added.
- RecatMan fetch size has been increased to 20.
- Baselist has been updated to 4723833.


2023-06-01, v4.6.7.2
- NxProxy auto-switch option has been removed.
- NxProxy for Android support has been added.
- Sub-admins log in to dashboard when they have the permission to dashboard.
- 'Enable File Logging' option for Syslog setup has been added.
- Baselist has been updated to 4714398.


2023-05-09, v4.6.6.4
- Deal with '/NXR' protocol by hxlistener not using TCP connection.
- Accept agent ping signal on every minute.
- Signal log not appearing bug has been fixed.
- Select first_catid as catid in TopReport DAO class.
- Baselist has been updated to 4667364.


2023-04-24, v4.6.6.3
- Send drop message to CxBlock and custom agent when it's dropped.
- Make a new query if the original query doesn't have UDP size value on DoHListner.
- System menu permission has been added for sub-admin.
- Baselist has been updated to 4667364.


2023-04-14, v4.6.6.3
- Send drop message to CxBlock and custom agent when it's dropped.
- Make a new query if the original query doesn't have UDP size value on DoHListner.


2023-04-03, v4.6.6.2
- NxClassifier queue size has been adjusted to 2000.
- Not listening on TCP/443 port bug has been fixed.


2023-04-03, v4.6.6.1
- 'category_id' has been replaced with 'first_catid' in top category query.
- Detailed logging for LogFacade in case of job queue flooding.
- The default maximum memory allocation has been increased to 2GB.
- Asynchronous login session sharing in cluster has been implemented.
- UdpListener runs on slave node as well for asynchronous login session synching.
- Slave to master login session synch will be done by UdpTalkie.
- Master to slave login session synch will be done by UdpTalkie and ConfigLoader.
- Open UDP/19004 from instsvc.bat when creating NxFilter service for Windows.
- Well known domain list has been updated and its size increased to 300,000.
- 'stop_auto_delete' option has been added to cfg.properties file.
- Cloudflare cache for NxLocal has been removed.
- 'System > Setup > Misc > Disable Version Check' option has been added.
- UdpEncoder has been activated.
- Baselist has been updated to 4638844.


2023-03-23, v4.6.5.5
- 'category_id' has been replaced with 'first_catid' in top category report
  query.
- Maximum memory size has been increased to 1024MB.


2023-03-06, v4.6.5.4
- NxClassifier ruleset has been updated to 637.
- RequestHandler.isRqDropDomain bug for not bypassing local domain correctly
  when there are too many wating queries in the queue has been fixed.
- Conditional forwarder feature has been added.
- Baselist has been updated to 4537434.


2023-02-13, v4.6.5.3
- Add Client IP into access violation email.
- Drop ANY type query at default for new installation.
- Baselist has been updated to 4507060.


2023-01-26, v4.6.5.1
- Use UDP socket for sending log data between cluster nodes.
- Enable Config.useLocalJahaslist flag for Globlist.
- The size of domain columns in DB have been changed to 255.
- Try to close DB connections in ShutdownHook.
- Delete orphaned traffic data overnight.
- Set RD flag into block message if there's a recursion request.
- Traffic database cleanup script name has been changed to 'dbclean.sh'.
- Defragment function has been added into cleanup script.
- User login by webpage will be notified to slave nodes by ConfigLoader.
- Baselist has been updated to 4499042.


2023-01-23, v4.6.4.6
- Config.removePseudoSection flag has been added.
- Use UDP socket for sending log data between cluster nodes.


2023-01-03, v4.6.4.5
- Operator block page not working on CloudWatch bug has been fixed.
- Operator alert category reset with the update of operator data bug fixed.
- Unused blocked reasons have been removed.
- Config.adwareCatid flag has been removed.
- Adding appname twice for alert email bug has been fixed.
- Freemarker library has been removed.
- 'System > Alert Events' menu has been added on operator GUI.
- Language files have been updated.
- Baselist has been updated to 4487203.


2022-12-21, v4.6.4.3
- User edit page not updating bug from unique constraint has been fixed.
- Baselist has been updated to 4469622.


2022-12-09, v4.6.4.2
- The max user number for a home operator has been increased to 10.
- Language files have been updated.
- Show login token on user list of the old operator GUI.


2022-11-25, v4.6.4.1
- Max persistent cache size has been adjusted to 300000.
- Delete persistent cache which is not updated for 7 days over night.
- Upstream DNS column size has been increased to 64.
- Baselist has been updated to 4467158.


2022-11-16, v4.6.3.9
- ClusterSync.addBlocklistData has been added.


2022-11-14, v4.6.3.8
- Baselist has been updated to 4456696.


2022-10-29, v4.6.3.7
- 'Max IP' -> 'Max IP Association' on GUI.
- 'Operator > License Policy > On License Violation' will be working for
  the user count by NxRelay.
- The default option for 'Operator > License Policy > On License Violation' is
  'Warning email and bypass filtering'.
- When it bypasses filtering by NxRelay user number detection, it bypasses filtering
  for the extra users.


2022-10-21, v4.6.3.6
- rediDomain rule has been enabled for NxClassifier.findCategory.
- Baselist has been updated to 4443843.


2022-09-27, v4.6.3.5
- Add down time in slave down alert email.
- Realy agent counting by master node.
- Login failure message on user login page has been added.
- Baselist has been updated to 4435424.


2022-08-18, v4.6.3.2
- To find logged-in user by index.jsp in real-time way.
- Email library has been replaced to javax.mail.
- Drop Packet by Whitelist and Request Type Control will be working
  even if 'Filter A Query Only' option is enabled.
- Share IP Session only when there's Login Redirection is enabled.
- 'ip_session' table not updating on new user login bug has been fixed.
- /IBR protocol for LocalListener has been removed.
- Baselist has been updated to 4451596.


2022-07-15, v4.6.2.3
- 'CC Recipients' has been added on 'System > Alert'.
- Baselist has been updated to 4440639.


2022-07-04, v4.6.2.2
- DBCP library has been updated to v2.9.0.
- DNS over HTTPS listener has been enabled.
- 'tcpNoDelay' flag set for the embedded Tomcat.
- Embedded Tomcat has been updated to v9.0.64.
- TLS v1.3 has been enabled for Tomcat.
- 'System > Mobile Config' menu has been added on CloudWatch GUI pack.
- Login Page category has been added to Cloudlist.
- 'Bypass DNS Checking' option added for blocklists.
- Baselist has been updated to 4423977.


2022-06-03, v4.6.1.5
- Cloudlist mapping file updated to exclude Under Construction from Misc.
- Baselist has been updated to 4403363.
- 'Policy > CxBlock' on operator menu added to CloudWatch GUI pack.


2022-05-19, v4.6.1.4
- recatPopup has been added to 'Logging > Request' on CloudWatch GUI.
- Baselist has been updated to 4397052.


2022-05-02, v4.6.1.2
- ParamTest.isValidRegex() -> isValidClassificationRule().
- Query again when cloud classifier query times out.
- User login page alias to 'http://server-address/login' added.
- /LOGIN, /LOGOUT, /ADMIN responses added for IBR query by CxForward.
- Baselist has been updated to 4386741.


2022-04-22, v4.6.0.9
- Send NXDOMAIN when it's for Blocked Request Type.
- prunsvr.exe has been removed.
- Temporary whitelist feature added.
- Faster loading method for whitlist applied.
- djmod219.jar, v3.6.0 has been updated.
- Delete action not working bug on 'System > Cluster' fixed.


2022-04-09, v4.6.0.8
- JRE has been embedded into Windows package.
- DEB package has been added.


2022-04-06, v4.6.0.7
- Time format bug fixed on 'Logging > Admin Activity'.
- Delete more than 1 year old admin activity log.
- Baselist has been updated to 4379872.


2022-04-02, v4.6.0.6
- 'config,*.jsp' -> 'system,*.jsp'.
- IMPORT/EXPORT buttons added on 'Category > System', 'Categry > Custom'
  , 'Classifier > Jahaslist'.
- 'DELETE ALL' button added on custom category edit page.
- Default magic password has been changed for security reason.
- Sub-admin and GUI permission feature has been added.
- Version check function has been moved into main process for faster GUI login.
- Baselist has been updated to 4374277.


2022-03-22, v4.6.0.5
- Don't do automatic MS update bypassing anymore.
- NxClassifier ruleset has been updated to 618-3.
- Domain pattern dictionary has been updated.
- Query through DNS protocol disabled for CloudClassifier.
- 'System > Alert', category missing bug fixed.


2022-03-15, v4.6.0.4
- Delete old jar files before install by DEB, EXE packages.
- 'System > Admin' page not working bug fixed.
- NxClassifier ruleset has been updated to 618-2.
- Baselist has been updated to 4098826.


2022-03-12, v4.6.0.3
- 'NEW AUTO-SWITCH DOMAIN' button has been added on 'Policy > NxProxy'.
- Sorting by hidden ctime added on 'Logging > *'.
- Safe-search enforcing for DuckDuckGo, Yandex has been added.
- Signup request notification not working bug fixed.
- CloudWatch became the default GUI pack of NxCloud.
- Multi language support has been added.
- Baselist has been updated to 4097826.


2022-03-02, v4.5.4.6
- 'Config' has been changed to 'System' on top menu.
- Arts, Books/Comics, Cults categories added to Cloudlist.
- Duplicated control name for Magic Password on GUI has been fixed.
- Cloudlist trial license has been activated.


2022-02-24, v4.5.4.5
- Domain pattern dictionary has been updated.
- Jahaslist update repository URL fetching bug fixed.
- Baselist has been updated to 4086209.
- Jahaslist category file has been updated.
- Policy level DNS type control has been removed.


2022-02-18, v4.5.4.4
- NxClassifier ruleset has been updated to 618.
- Baselist has been updated to 4057207.


2022-02-04, v4.5.4.2
- Delete orphaned domain index data from cleanup script.
- ZopRequestDao class added for opeator GUI.


2022-01-24, v4.5.4.1
- Embedded Tomcat has been updated to v8.5.75.
- CBC mode cipher has been removed for webserver security.
- JSP compiler target has been changed to 1.8.
- WebSockerHandler has been removed.
- Baselist has been updated to 4057161.


2022-01-12, v4.5.3.2
- Top report generation speed up by 25%. 
- Faster search algorithm for traffic data has been applied.
- Filter 'A' Query Only option added on 'Config > Setup > Misc'.


2021-12-28, v4.5.3.1
- Set LibNet.gUserAgent value from '/nxfilter/conf/user-agent.txt' file.
- Lib.safeSubstring(uname, 20) when logging admin login username.
- Cache control scripts have been added.
- Baselist has been updated to 4057146.


2021-12-06, v4.5.2.9
- UnivCache class has been added for speed up index.jsp response.
- Update notification email for the same version will not be sent again
while it's running.
- Baselist has been updated to 4054350.


2021-11-12, v4.5.2.8
- Unicode domain names have been allowed on 'Whitelist > Domain' and
  'Category > Custom'.
- Don't add NxError when it's a license problem.
- Request.isEdnsFlag has been removed.
- Reset index.jsp during startup process.
- Baselist has been updated to 4042739.


2021-10-20, v4.5.2.7
- Add a negative cache when there are 5 empty responses continuously
  for the same domain.
- Several antivirus software related domains have been added into
  common-bypass.tpl file.
- Baselist has been updated to 4032373.


2021-09-27, v4.5.2.6
- Delete cache for admin login page on startup.
- Use 'https://' for login redirection URL when it's on TCP/443 port.
- Baselist has been updated to 4019926.


2021-09-09, v4.5.2.4
- DoubleCheck thread for detecting master node down added.
- 'svrinfo.jsp' has been added.
- Baselist has been updated to 4000547.


2021-08-03, v4.5.2.1
- 'date_display' option added for configuration file.
- Operator expiration date selection bug fixed.


2021-07-19, v4.5.1.7
- Add record array length check into MsgUtil.getMinTtl.
- System exit when there's no 127.0.0.1 IP address to bind.
- Baselist has been updated to 3985278.


2021-06-22, v4.5.1.6
- Viewport meta tag added for default block page and welcome page.
- Baselist has been updated to 3975892.


2021-06-04, v4.5.1.5
- Spaces to one space in Lib.escapeSql.
- Deal with 'REFUSED' return code for type 65 queries.
- Baselist has been updated to 3965542.


2021-04-28, v4.5.1.4
- Category name change, Warez -> Warez/Torrent.
- Add custom category domain as lower case string.
- '/nxcloud/conf/tpl/signup-approval-email.ftl' has been added.
- '/nxcloud/conf/tpl/password-reset-email.ftl' has been added.
- Baselist has been updated to 3947317.


2021-04-06, v4.5.1.1
- Cryptocurrency, Real Estate, Pets categories have been added to Cloudlist.
- Cryptocurrency, Pets categories have been added to Jahaslist.
- Well-known domain list has been updated.
- djmod.jar has been updated to v3.3.1.
- Bypass system block if it's a request from the server.
- Baselist has been updated to 3922792.
- NxClassifier ruleset has been updated to 574.


2021-03-25, v4.3.9.4
- Cache control scripts have been added.
- Remove noise words from title in NxClassifier.findCategory.
- NxClassifier ruleset has been updated to 445.
- Baselist has been updated to 3894447.


2021-03-21, v4.3.9.3
- 'Default Policy' -> 'Policy Template'
- Allow non-standard SSL port for Alert Email.
- AttackerDic has been disabled as it's been replaced by ServerProtection.
- New policies will be enabled at default.
- New user not having policy association bug has been fixed.


2021-02-18, v4.3.9.2
- Adding default upstream server arbitrarily bug fixed.


2021-02-08, v4.3.9.1
- Change pipes to underscores for HX query.
- Allow non-standard DNS port into 'Upstream DNS Server' on 'DNS > Setup'.
- Baselist has been updated to 3751633.


2021-01-28, v4.3.8.9
- Unset Alert Categories for operators at default.
- Baselist has been updated to 3740797.


2020-12-18, v4.3.8.8
- Max file size for a blocklist has been increased to 30MB.
- Block by request type before attack domain detection.
- Check index existence inside updateDbConfigTo413.
- Baselist has been updated to 3727033.


2020-11-19, v4.3.8.7
- NxRelay policy update through HTTP added.
- Baselist has been updated to 3709649.


2020-10-21, v4.3.8.6
- '/nxcloud/conf/system-block.txt' added for System Block Domains.
- Baselist has been updated to 3694015.


2020-09-23, v4.3.8.5
- Auto-switch support for filtering between NxProxy and NxFilter enabled.
- Exclude OPT record from Persistent Record cache deserializing.
- Baselist has been updated to 3677641.


2020-09-15, v4.3.8.4
- 'version.bat', 'version.sh' scripts have been added.
- Reload user dictionary after an operator deleted.
- 'g_policy' table not found bug fixed.
- 'bypass_all' has been removed from ConfigLoader.loadAccessControl.
- ReducedLog class added.


2020-08-19, v4.3.8.2
- Baselist has been updated to 3641806.


2020-07-29, v4.3.8.1
- Bypass login redirection when it's AAAA query.
- To deal with TIME_KW from cloud classifier.
- Populate DNS access control from 'dns-allow-ip.txt' and 'dns-block-ip.txt'.
- Domain to user mapping starts immediately after UserDic reloading.
- Activate free 25 user Jahaslist license after trial period.
- 'DNS > Server Protection' menu added.
- Block by DNS request type feature added.
- NxClassifier.setExcludedFlag -> NxClassifier.setErrFlag.
- Show error reason on 'Classifier > Test Run'.
- Default policy for new policies.


2020-07-07, v4.3.7.4
- Baselist has been updated to 3615648.


2020-06-19, v4.3.7.3
- Use setCltIp in Request.parseHttpsQuery.
- NxClassifier.parseMetaRefresh bug fixed.
- NxClassifier ruleset has been updated to 442-2.
- Set retry count to 1 in for ResolverMan.
- Ignore additional records for Response.updateAnswerTtl().
- Baselist has been updated to 3570601.
- Cache refresh for every DNS request bug has been fixed.


2020-06-06, v4.3.7.2
- Don't start a new thread for upstream query.
- Rewrite ZoneTransfer and ZoneLookup classes according to library update.
- New IP based access control, 'DNS > Access Control' has been added.
- Login redirection only works when it's A or AAAA query.
- Use IpRangeMap for UserDic.findByIp.
- Baselist has been updated to 3557219.


2020-05-25, v4.3.6.5
- Safe-search CNAME domain cache bug fixed.


2020-05-20, v4.3.6.4
- Don't use a temporary cache for frequently updated domains when they expire.
- Baselist has been updated to 3528535.
- Set restarter for MyClassifier.
- ServerProtection.TRIGGER_DOMAIN_CNT has been increased to 200.
- ServerProtection.TRIGGER_IP_CNT has been increased to 600.


2020-04-29, v4.3.6.3
- TLS support for alert email has been added.
- Email library has been updated to v1.5.
- Baselist has been updated to 3514959.
- top.jsp -> header.jsp, bottom.jsp -> footer.jsp.


2020-03-17, v4.3.6.2
- Timeout for DNS connection will be set inside ResolverMan.createResolver.
- Category name check on JahaslistDic.find.
- Password size limit has been increased to 128.
- Baselist has been updated to 3477079.


2020-02-25, v4.3.6.1
- Pagination has been applied to 'zop,whitelist,domain.jsp'.
- NxClassifier ruleset has been updated to 442.
- Don't delete old traffic data on startup if it's deleted on midnight.
- 'cleanup.bat', 'cleanup.sh' scripts added for deleting old traffic data.
- Baselist has been updated to 3413419.
- Check null for NxErr.catnameLine.
- ServerProtection.TRIGGER_DOMAIN_CNT has been increased to 300.
- ServerProtection.TRIGGER_IP_CNT has been increased to 300.
- Whitelist will be applieed to 'Drop Attack Request By Domain'.
- Persistent cache TTL has been adjusted to 8 hours.
- 'Bypass Microsoft Update' option has been removed from GUI.
- '*.microsoft.com', '*.windowsupdate.com' will be exposed on 'Whitelist > Domain'.
- 'Silent Block' option added on 'Config > Setup'.


2020-01-08, v4.3.5.5
- Write domain, user, client IP, operator counts by logAll data.
- Config.start_time has been added.
- Negative cache will be applied on IPv6 response.
- Baselist has been updated to 3335847.
- Display uptime on 'Report > Usage'.


2019-12-04, v4.3.5.4
- djmod has been updated to 219.
- NxProxy support added.
- Global.HOME_USER_BONUS_CNT has been increased to 15000.
- JSONObject with ordering added.
- Global.STATIC_KW, Global.BLOCK_KW added.
- Exporting Syslog in JSON format at default.
- block,proxy.jsp has been removed as a redundancy.
- IPv6 block redirection IP has been removed as a redundancy.
- Cache control by JSP code has been added into 'top.jsp', 'zop,top.jsp'.
- Local IP count added on 'Report > Usage'.
- Show realUname if it's same as token username.
- NxStats.addOpReqCnt only for 'A' type queries.
- 'Operator > License Policy' menu added.
- 'Operator > Signup Request' menu added.
- signup.jsp and resetpw.jsp added.


2019-11-02, v4.3.5.3
- NxClassifier ruleset updated to 440-5.
- Baselist has been updated to 3179377.
- Default value for dns_setup.drop_attack_request_by_ip set to 'FALSE'.
- OperatorStatsData.getCtime format changed to 'yyyy/MM/DD'.
- 'Report > Usage' menu added.
- 'Config > Alert > Alert Period' has been removed.


2019-10-11, v4.3.5.2
- ServerProtection class added.
- Default request queue size has been increased to 2000.
- Jahaslist has been updated to 3140451.


2019-09-25, v4.3.5.1
- User login related example JSP pages restored.
- 'noacl' keyword has been removed from example JSP pages.


2019-09-10, v4.3.4.9
- Service expiration date for operator added.
- Trim the result of Config.getHostname.
- noacl,remoteapi.jsp has been added.
- Answer 'use-application-dns.net' with NXDOMAIN.
- Jahaslist has been updated to 3086091.


2019-08-23, v4.3.4.8
- Use req_sum, block_sum for trend chart.
- nxlib.css has been updated to 4348.
- New popup form has been applied on 'Classifier > Classified'.
- 'Policy > Chromebook' has been removed.
- Set line_cnt to 0 in BlocklistUpdate.setActiveThread.
- Jahaslist has been updated to 3048949.


2019-07-30, v4.3.4.7
- Info box color restored to the old green one.
- The initial LogCache size on master node limited to 100,000.
- ZoneTransfer.update not to block startup process.
- nxlib.css has been updated to 4347.
- Jahaslist has been updated to 3011156.


2019-07-20, v4.3.4.6
- Slave node to use local Jahaslist at default.
- DbMan.getDbJahastlist -> DbMan.getDbJahaslistMaster
- Run BlocklistUpdate only when it's not a slave node.
- Jahaslist.blocklist_cache table missing bug fixed.
- ClusterSync class for slave node added.
- nxd.cluster package has been separated.
- Jahaslist has been updated to 2956013.
- Fieldset, legend for GUI have been applied.
- Pagination added on Whitelist.
- nxlib.css has been updated to 4346.


2019-06-21, v4.3.4.4
- Use space as the delimeter for Allowed IP.
- Exact matching rule by adding a tailing dot introduced for Allowed IP.
- Use User.name instead of User.uniqUname on UserDic.createIpSessionByName.
- Read local license file first always.
- Jahaslist has been updated to 2841147.
- New message check on dashboard.
- Restore IP session when NxFilter restarts.
- Lazy loading for slave node applied on LogWriter.loadLogCache.


2019-05-02, v4.3.4.2
- Cloudflare DNS server IP cache for NxLocal added.
- Global.DYN_MAP_INTERVAL set to 60 seconds.
- Verify Jahaslist size only when there's no search keyword on
  classifier,jahaslist.jsp.
- '-' allowed in all 'name' properties.
- NxClassifier ruleset updated to 440-4.
- Jahaslist has been updated to 2762212.


2019-04-15, v4.3.4.1
- Validation check for '|)' for classifier rule.
- Wait 2 seconds for graceful shutdown on LocalListener.
- Increase ruleset modification count when it's through GUI.
- Add Local DNS and Local Domain into NxClient policy.
- NxLocal support added.
- 'op_dns' table added for NxLocal.
- Jahaslist has been updated to 2730651.


2019-03-22, v4.3.3.9
- Login redirection on 'index.jsp' only when 'Enable Login Redirection'
  option eabled.
- 'config.enable_login_redirection' column added into Local database.
- Warning when you have an incomplete copy of Jahaslist on Classifier > Jahaslist'.
- Whiteone.isGlobal bug with system block domains fixed.
- NxClassifier ruleset updated to 440-3.


2019-03-06, v4.3.3.8
- v4.3.3.8 of 'domain-pattern.txt' applied.
- Jahaslist has been updated to 2674438.
- New action-info CSS applied.
- Graceful shutdown for LogWriter has been introduced.
- Write a log message for master node down.


2019-02-28, v4.3.3.7
- WhiteOneDic.makeKw added.
- 'Classifier > blocklist' menu added.
- 'Whitelist > Common Bypass' added.
- New well known domain list applied.
- CategoryCustomDao.selectDomainCount added.
- Drop Local Domain option added.


2019-02-16, v4.3.3.5
- Send an alert email to admin for an operator license violation with
  operator name and counting info.
- Config.DEFAULT_HTTPS_PORT set to 443.
- Custom domain related params moved into Global class.
- Global.MAX_CUSTOM_DOMAIN_ALL has been increased to 1000000.
- NxClassifier ruleset updated to 440-2.
- Select only the first 2,000 data for CategoryData.getDomainList.
- CategoryData.hasDomainList flag has been removed.
- New Jahaslist category 'Suspicious' added.
- Jahaslist has been updated to 2645292.


2019-01-16, v4.3.3.3
- Cloud classifier uses HTTPS only.
- NXZ format for Jahaslist import/export introduced.
- NxClassifier ruleset updated to 440.
- Jahaslist has been updated to 2583200.


2018-12-20, v4.3.3.2
- Check the specific 'listen_ip' rather than localhost if any IP specified
  when it starts.
- Jahaslist has been updated to 2554268.
- v4.3.3.2 of 'domain-pattern.txt' applied.


2018-11-26, v4.3.3.1
- Cloud classifier feature added.
- DDOS protection by attacker target domain detection added.
- To be able to unset alert email address on 'Config > Alert'.
- NxClassifier ruleset updated to 439-2.
- Jahaslist has been updated to 2467342.
- 'Admin Password' -> 'Current Password' on Config > Admin.
- v4.3.3.1 of 'domain-pattern.txt' applied.
- Total bypass by whitelist applies first.
- Whiteone.systemBlock and DnsSetup.dropHostnameWithoutDomain work
  only on global level.
- Global level WhiteOne.bypassFilter bypasses attack domain detection.
- Botnet detection rule adjusted to exclude valid subdomains.


2018-10-16, v4.3.2.7
- Allow zero classifier on slave node.
- Create new if there's no data in policy_proxy, policy_application.
- NxResolveRunnableMan.maxThreadNum has been increased to 2048.
- Config.queueFullExit flag has been removed.
- Drop queries except A, AAAA type queries when its request queue is full.
- Whiteone.systemBlockFlag added for blocking browser specific HTTPS DNS.
- Remove cache type check for negative cache.
- Cache ANY type query.
- 'Policy > Chromebook' menu added for CxBlock.
- Extract domain from URL on Domain > Test.
- v4.3.2.7 of 'domain-pattern.txt' applied.
- NxClassifier ruleset updated to 439.
- Jahaslist has been updated to 2443476.


2018-09-13, v4.3.2.5
- Support IPv6 safe-search forwarding by RespCache.
- Use cloned message on RespCache.
- NxClient policy disabled bug fixed.
- Block page not showing with IP host block bug fixed.
- Jahaslist has been updated to 2392825.


2018-09-08, v4.3.2.4
- SafeCache related changes rolled back.


2018-09-07, v4.3.2.3
- Global.BLACKLIST_TYPE_NONE has been removed.
- Config.domainTable has been removed.
- Null data permitted into persistent_cache.authority_arr column.
- Persistent cache not adding with Minimum Responses enabled bug fixed.
- SafeSearchCache class replacing RespCache for safe-search forward.
- Safe-search forward for IPv6 added.
- EDNS identifier verification enabled.


2018-08-29, v4.3.2.2
- Max length value for the password on operator,operator_edit.jsp
  changed to 16.
- Config.bypassEmptyDomain flag removed.
- Redirection only works for A type query.
- Don't use setCltIp in parseEdnsQuery to set a correct relayCltIp.
- LogWriter.isDbLocked flag removed.
- Fix truncate table bug from v4.1.1 update.
- Create 'persistent_cache' table only if not exists on 4280 update.
- 'startsWith' check for Global.BLOCK_DOMAIN on request handler.


2018-08-18, v4.3.2.1
- Jahaslist has been updated to 2352337.
- Bind on listenIP for DnsListener, HxListener, WebSocketHandler.
- Clean up additional section for relay signal.
- Listner for DNS over SSL enabled.
- Add one more NxError for NxRelay client IP.
- DnsListener, HxListener will use Config.listenIP and Config.dnsPort.
- Initialize Request.realUname to an empty string rather than null.


2018-07-27, v4.3.1.2
- classifier.DomainQueue.size returns domainList.size.
- HtmlPatternDetector has been disabled.
- JahasUpdate().copyRulesetToSlaveLocalDb() added.
- NxClassifier ruleset updated to 438.
- Jahaslist has been updated to 2319531.
- Thread pool applied on UDP client connection.


2018-07-15, v4.3.1.0
- New persistent cache serialization scheme applied.
- License verification process by License Manager added.
- Jahaslist has been updated to 2279690.
- Send NX response to private PTR query when we are not in a private
  network.
- Send NX response when drop packet option enabled on 'DNS > Setup'.
- The limit of OperatorData.maxUser change to 100000.
- NodeTalkie.notFoundIpMap added on slave node.
- ConfigLoader loading interval adjusted to 5 seconds.
- Minimum cache TTL and block cache TTL introduced.
- NodeTalkie.isAuthedUser removed since we can do it with LocalTalkie.
- Keep login session into local session map on UserLoginDao.login.
- IP session TTL finalized to 3 days.
- userDic.deleteExpiredIpSession() will be executed only once a day.
- Use file DB when it updates classifier ruleset.
- Call MsgUtil.sendBuf directly in MsgUtil.sendBlockMsg.
- Keep local copy of LastError map.
- 'block_node_ip' option added on cfg.properties.
- Config.agentPolicyUpdatePeriod has been removed.
- Operator block page size limit increased to 1 MB.
- 'Policy > Remote Filter' and 'Policy > Application Control' merged into
  'Policy > NxClient'.


2018-06-12, v4.2.7.1
- 'allowed_ip.gui_allowed' column not found bug fixed.


2018-06-11, v4.2.7.0
- 4 digits version system introduced.
- NxClassifier.MAX_CONTENT_LEN increased to 500000.
- Exclude HTML comments from NxClassifier parsing.
- Send license expiration emails 5 times within 15 days before the
  expiration date.
- Redirection with '0.0.0.0' as a destination IP will be bypassed.
- Domain to IP redirection comes before domain to domain redirection.
- classifier.NxHtml.HtmlPatternDetector added.
- v4.2.7.0 of 'domain-pattern.txt' applied.
- NxClassifier ruleset updated to 436.
- Jahaslist has been updated to 2236181.
- Huge cluster option added.


2018-05-28, v4.2.6
- Priority Points has been removed on GUI level.
- ClassifierRulset.incModCnt added.
- 'No system categories' option has been removed.
- v4.2.6 of 'domain-pattern.txt' applied.
- NxClassifier ruleset updated to 433.
- Jahaslist has been updated to 2179277.
- Bypass caching when there's no ARecord for an A type query.
- Send 'Local IP' on Syslog exportation.
- Wildcard redirection added.
- JahaslistDic cache size increased to 300000.


2018-05-15, v4.2.5-p1
- Maximum subdomain chopping count on JahasDic.findId adjusted to 5.
- Duplicated token check on UserDao added.
- 'catnameLine' has been removed from making unique keyword for logging.
- Redundant 'block_flag' condition on RequestDao.getSqlView has been removed.
- DbMan.getBlockView has been activated.
- Set operator specific default policy on PolicyDao.delete.
- Set TTL to 60 on MsgUtil.sendBlockMsg.
- Active Directory integration over cloud with NxRelay added.
- p1, Request count not being reset on midnight bug fixed.


2018-04-03, v4.2.4
- 200 milliseconds delay for '/IBR' protocol added.
- UserDic.md5Map has been removed.
- Check duplicated username only on operator level.
- '/PING' protocol added on HxListener.
- v4.2.4 of 'domain-pattern.txt' applied.
- Jahaslist has been updated to 2107631.
- NxClassifier ruleset updated to 420.1.


2018-03-12, v4.2.3-p1
- v4.2.3 of 'domain-pattern.txt' applied.
- Not to add 'ns', 'mail' subdomains into NxClassifier queue.
- HX protocol sends domains instead of resolving them.
- Persistent cache reset for serialization ID change.
- Config.rqDropSize added for DDOS prevention.
- Add domain into NxClassifier queue even if it's classified by domain
  pattern analyzer.
- Operator level bypass logging option on whitelist removed.
- WhiteoneDic will be working operator specific way.
- Jahaslist has been updated to 2060034.
- p1, User IP association for the same private IP not allowed bug fixed.


2018-02-01, v4.2.2
- Description field added on whitelist properties.
- Default userDao.limit increased to 1000.
- HxListener added.
- 'Proxy Filtering' -> 'Remote Filtering' on GUI.
- Windows installer to keep '/nxcloud/bin/startup.bat'.
- '/nxcloud/bin/417-*.bat' scripts removed.
- v4.2.2 of 'domain-pattern.txt' applied.
- Jahaslist has been updated to 2005709.
- NxClassifier ruleset updated to 420.


2018-01-10, v4.2.1-p1
- JahasDic.isBotnetDomainByConsonantCount activated.
- Duplicated 'classifier_ruleset' loading message removed.
- Run JahasUpdate.remoteRecat on slave node.
- JahasUpdate.loadBigList removed.
- JahaslistDao uses local DB when it's on slave node.
- Config.useLocalJahsalist flag added.
- p1, NxClassifier.getDbJahaslist bug fixed.


2017-12-13, v4.2.0
- Include 'top.jsp' on operator,user_test.jsp.
- 'allowed_ip' table column name changed to NxFilter standard.
- Typo corrected on categories.txt, 'Iilegal' -> 'Illegal'.
- Maximum slave node number changed to 4.
- Separated system/custom category exportation added.
- Block domain removed from Config.isLoginDomain.
- Jahaslist has been updated to 1816518.
- v4.1.9 of 'domain-pattern.txt' applied.
- JahasDic -> JahaslistDic.
- 'Web Hosting' category separation enabled.
- NxClassifier ruleset updated to v4.2.0.
- Biglist update disabled.


2017-11-07, v4.1.8-p2
- JahasDic.isBotnetDomainByConsonantCount added.
- Creating domain_unclass table only if it doesn't exist.
- NxClassifier ruleset updated to v4.1.8.
- Default memory allocation increased to 1 GB.
- New Windows service wrapper applied.
- Don't increase domain test count on dealAskDomainCatid.
- Jahaslist has been updated to 1722042.
- p1, Cluster node ACL parsing bug fixed.
- p1, Config.resetAcl table name bug fixed.
- p1, lib.css updated to 418.1.
- p2, v4.1.8 of 'domain-pattern.txt' applied.
- p2, Jahaslist has been updated to 1771263.
- p2, Bypass filtering only when username overflow.


2017-09-14, v4.1.7
- New top menu bar applied.
- v4.1.7 of 'domain-pattern.txt' applied.
- Jahaslist has been updated to 1670081.


2017-09-06, v4.1.6
- Possible null pointer exception from LibFile removed.
- CSS alert popup applied on GUI.
- infoList, warnList added on lib.jsp.
- Bypass Request.parseRfSignal for 'ZX' custom protocol.
- Jahaslist has been updated to 1636933.
- Reset NxStats.domainTestCnt on midnight.
- 'ddns_cnt' update query removed from Main.updateOperatorStats.
- On 'Config > Alert', check email validity only when email not empty.
- Exception handling for AllowedIpDao.selectOne added.
- Bypass DaoUtil.checkMaxLicenseUser when there's no change in user number.


2017-08-16, v4.1.5-p1
- Threshold for unclassifed report increased to 10.
- Local NxClassifier.mcIdx hiding global one removed.
- Recategorization request started on 105 points.
- 'Web Hosting' category readded on Jahaslist.
- NxClassifier ruleset updated to 416.
- v4.1.5 of 'domain-pattern.txt' applied.
- User-agent string updated for NxClassifier.
- Typo corrected on categories.txt, 'IIlegal' -> 'Iilegal'.
- Only show search result on 'NxClassifier > Jahaslist'.
- Jahaslist has been updated to 1588849.
- p1, 'hide_ssl_warning' option on cfg.properties added.


2017-07-25, v4.1.4-p1
- News -> News/Magazine on Jahaslist category.
- Don't report unclassified domains when JahasDic bypassing.
- Redundancy validity check for DomainDic.doesDomainExist removed.
- Jahaslist has been updated to 1550327.
- CategoryDic unsynchronized.
- Custom classified domain export/import added on 'Category > System'.
- p1, Operator specific block-page restored.
- p1, BlockPageData.sanitizeFlag added for size exceed warning on webpage.


2017-06-20, v4.1.3
- 'use_negative_cache' option added on 'DNS > Setup'.
- Negative cache TTL changed to 15 minutes.
- Rebuild Jahaslist when it's smaller than 1,200,000.
- Max custom classified size adjusted to 300,000.
- v4.1.3 of 'domain-pattern.txt' applied.
- 'Jahaslist Repository' on 'NxClassifier > Setup' removed.
- DomainDic.unclassCntMap added.
- JahasDic cache enabled.
- Config.hostname added for alert email.
- Check maximum user number only for active operators.


2017-05-28, v4.1.2-p1
- Unused NxAdmin.resetAcl restored.
- DomainDic.doesDomainExist only checks NX domain.
- Default value for classifier_setup.keep_html_text set to be 'TRUE'.
- Bypass NxClassifier.recat when Jahaslist update disabled.
- Custom category selection possible on recategorization from
  'Logging > Request'.
- Tutorial link in 'tutorial.bat' fixed.
- 1.4 million domains added into 'baselist.txt'.
- Import new domain only when it does biglist update.
- p1, Recat request disabled for custom categories.
- p1, Negative cache has been disabled temporarily.


2017-05-10, v4.1.1
- Clustering access control applied on DB connection.
- Modified h2db-1.3.176.jar having '-tcpAllowedIP' option applied.
- Block-page column size increased to 1,000,000.
- 'Block DNS Rebinding' on policy removed.
- NxClassifier works only against 'A' type query.
- StringBuilder used for Request.toLogLine and LogWriter.sendSysLog.
- 'Use Persistent Cache' option added on 'DNS > Setup'.
- 'Minimal Responses' option added on 'DNS > Setup'.
- Maximum response cache size increased to 10,000,000.
- Bypass Jahaslist update when there's no version file fetched.
- LookupHandler has been removed.
- Reset requestOverflowFlag when the request count resets.
- NxClassifier ruleset updated to 391.
- Negative response cache up to 1 hour added.
- Showing cache size information on 'DNS > Setup'.
- Custom categorized domain table size increased to store 1,000,000 domains.


2017-04-25, v4.1.0
- Don't set blacklist type from master-node when it can't connect master-node.
- JahasDic.isIncompleteUpdate -> JahasDic.isCompleteUpdate.
- DomainDic.isLocalDomain -> !DomainDic.isInvalidDomainToCheck.
- NxClassifier ruleset updated to 388.
- 'DNS Setup > Misc > Drop Hostname Without Domain' added.
- 'DNS Setup > Misc > Drop PTR For Private IP' added.
- Domain pattern analyzer works only for cached domain to reduce CPU load.
- 'Without Youtube' option for safe-search added on a policy.
- LogData.zoneDomainFlag removed.
- Missing 'body_text' column on 'domain_classified' table added.


2017-04-05, v4.0.7
- JahasDic.find bypasses when it is doing the initial update for
  Jahaslist DB.
- Don't send an email alert for license expiration when it's not using
  any blacklist.
- DEFAULT_LOG_FLUSH_LIMIT set to 10000.
- WhiteoneDic.getWhiteone returns an empty one instead of null.


2017-03-30, v4.0.6-p2
- Faster Youtube domain checking applied.
- Faster whitelist checking applied.
- WhiteoneDic, Whiteone classes added.
- Drop packet option added on whitelist.
- Set unlimited user number for 'No System Category'.
- Operator request count reset button added on 'Operator > EDIT'.
- DnsStats.udpCnt not increasing bug fixed.
- Synchronize license request count to traffic DB count.


2017-03-12, v4.0.5
- Delimeter for 'Allowed IP' changed to comma.
- '/GBI' protocol added for NxForward.
- On 'NxClassifer > Ruleset', 'REPLACE' button changed to 'IMPORT' button.
- Using comma for NxClassifer rule allowed.
- NxError.timestamp not set bug fixed.
- '/IBR' protocol returns always 'true' bug fixed.
- Set 'RA' flag on DNS response header.
- Unset 'AD' flag on response header when it is not set from an upstream server.
- Unset 'AD' flag on block redirection message header.
- Bypass OPT record from RespCache.find.
- Use IPv4 over IPv6 for IPv6 block redirection at default.


2017-03-07, v4.0.4-p2
- 'NxClassifier > Setup > Mass Import' has been removed.
- 'REPLACE' button added on 'NxClassifier > Ruleset'.
- 'IMPORT' button added on 'NxClassifier > Jahaslist'.
- Reclassify immediately when it is from NxClassifier.
- Syslog prefix not converted to upppercase bug fixed.
- Bypass RecatMan.recat for invalid domains.
- Log retention days can be set to 0.
- Possible NullPointerException in JahasUpdate.addBigList removed.
- Recat threshold for NxClassifier lowered to 120.
- OperatorDao.selectOneByBame -> OperatorDao.selectOneByName.
- User/request counting bypassed for no system category setup.


2017-02-08, v4.0.3
- Logging time bug for request_count_5m has been fixed. 
- ClassifiedData.getCtime format restored to 'MM/dd HH:mm'.
- login.css has been removed.
- v1.1 of 'domain-pattern.txt' applied.
- NxClassifier ruleset updated to 385.
- ClassifierRulsetDao.updateRulesetOld removed.
- classifier_ruleset.update_count column removed on a new installation.
- 'score' added on 'recat' table.


2017-02-02, v4.0.2
- Operator level 'Admin Block' overrides 'Log Only' on a policy.
- Camel case notation applied.
- SLF4J introduced for enhancing logging performance.
- NxParam has been removed.
- Cache DB connection not released bug on Main.deleteOld fixed.
- Sanitize HTML before NxClassifier.findCategory.
- Reclassifying on NxClassifer data updates ctime of its statistics.
- Only the group name being associated to the applied policy will be logged.
- Sending group name on Syslog exportation.
- Default values for DNS, HTTP connection, read timeout on NxClassifier increased
  to 6 seconds.
- NxClassifier finds a category by redirected domain when it gets redirected.
- Use placeholder for SQL with LogCache.
- Bypass Main.remoteUpdate on a slave node.
- New admin login page applied.
- Logging queue with LogFacade class added.
- Keep response cache when the connection to upstream server lost.
- Duplicated 'block_unclass' comlumn removed on PolicyDao.insert.
- Login-page, block-page, welcome-page template updated.


2017-01-24, v3.4.9-p1
- Datetime picker missing for operator GUI bug fixed.
- CSV file export bug on operator GUI fixed.
- Cache DB connection not relased bug on Main.delete_old fixed.
- Charset extraction regex pattern on NxClassifier updated.
- New domain pattern dictionary from v4 added.
- Auto-update for biglist for Jahaslist added.
- New ruleset for NxClassifier having 375 rules.
- Lazy loading for LogCache.domain restored to pre-loading.
- LogCache.find has been unsynchronized.


2016-12-22, v3.4.8-p1
- LogWriter.flush before making report cache and delete old data.
- Apply 'Alert Category' option on domains blocked as 'Adware'.
- Redundant code for Bing safe-search redirection removed.
- Add host IP on queue full alert email.
- Safe-search has been applied on 'youtube.googleapis.com'.
- LookupHandler not refreshing safe-search domain cache bug fixed.
- Safe-search to be working only for 'A' type DNS query.
- Google safe-search redirection will only be applied on its 'www'
  and 'encrypted' subdomain.
- Global.NX_DOWNLOAD link has been updated.
- Safe-search mode on policy has been introduced.
- Max user, Max user IP, Max whitelist for an operator have been
  increased to 1000.
- Exclude license error from operator specific access violation email.
- Default value for 'max_slave_num' has been increased to 8.
- 'safe_search' on PolicyProxyDao has been removed.


2016-12-10, v3.4.7-p2
- LogWriter.delete_old, DB not closed bug fixed.
- Not able to set 'classifier_num' to 0 bug has been fixed.
- LogWriter waits for flushing until traffic DB unlocked.
- Jahaslist updated to 378336.
- NxClassifier ruleset updated to 381.
- Duplicated domain in 'domain_classified' table bug fixed.
- Don't do nightly build on operator specific report.
- Logging bypassed when traffic DB locked.
- Performance enhancing by removing unnecessary volatile variables.


2016-11-12, v3.4.6
- 'Syslog port' option added on 'Config > Setup'.
- 'IPv6 Redirection IP' option added on 'Config > Setup'.
- Sending alert email for queue full error.
- Lazy loading has been applied for LogCache.domain.
- LogCache.find has been synchronized.
- Highlight for blocked domains on 'Logging > Request'.


2016-10-31, v3.4.5
- DDNS logging has been removed.
- 'Disable Default Repository' option added on 'NxClassifier > Setup'.
- Minimum TTL for safe-search domain and domain to domain response
  introduced.
- To read alert email template as a regular text file on AlertMan.
- Bypass nightly report generating on a slave node.
- Return on invalid message, protocol for WebSocketHandler.onTextMessage.
- NxForward support added.
- User, Group classes moved into 'nxd.policy' package.
- NxError, LastError, BlockedReason classes moved into 'nxd.filtering' package.


2016-10-02, v3.4.4
- PrefixDic is not a Thread anymore.
- 'nxd.alert' package added.
- 'nxd.policy' package added.
- 'nxd.dns' package added.
- 'nxd.filter' package added.
- IE proxy bypass added on 'Policy > Proxy Filtering'.
- Path not allowed in IE proxy bypass.
- 'queue_full_exit' option on cfg.properties added.
- Operator name added on Syslog exportation string.
- Connection error count from DB not being reset bug fixed.
- Connection timeout and socket timeout for sending an email have been
  increased to 6 seconds.
- Adjustable query cache TTL introduced for proxy clients.
- Custom categories added at the end of system categories on operator GUI


2016-09-01, v3.4.2
- 'drop_empty_response' option added on cfg.properties.
- NodeTalkie doesn't try to connect when master node down.
- BlockPage gets a default NxError when master node down.
- Login to slave GUI when master node down allowed.
- Interval for finding the last error on BlockDao adjusted to 50.
- Blocked domain TTL adjusted to 60 seconds.
- Use local block page on slave node.
- LogWriter flush interval to master node adjusted to 5 seconds.
- ZoneTransfer class has been removed.
- Authoritative DNS module has been removed.
- NxRelay support added.
- Not refreshing expired CNAME cache on LookupHandler bug fixed.
- ResposeCache.get_cached_msg_cname requires source domain to deal
  with safe-search enforcing on NxRelay.
- 'HOME_USER_BONUS_CNT' has been increased to 12000.
- 'common_edge.css' has been removed.


2016-08-12, v3.4.1
- Redundant bootstrap directory has been removed.
- License file sharing between cluster nodes bug fixed.
- Remove static text, 'NxFilter' from 'zop,top'.


2016-08-06, v3.4.0
- Improved DataBase, RowSet classes applied.
- BlockDomainResolver returns '127.0.0.1' when there is no block
  redirection IP loaded on a slave node.
- Filtering still works on a slave node having master node down.
- Blacklist license update on GUI added.
- Became a freeware with license change.
- No system category option added.
- New authoritative DNS server module applied.


2016-07-07, v3.3.4
- Block by window title has been removed from application control.
- Remove protocol from reclassification request.
- Bug for '172.16.x.x' with LibNet.is_private_ip method fixed.
- Authoritative flag unset from block redirection.
- NxFilter version added on remote filtering policy.


2016-06-14, v3.3.1
- New domain validation function applied for allowing the domains
  not having dot.
- Support for NxUpdate v1.x, NxClient v1.x stopped.
- Using standard DNS protocol for NxUpdate and NxClient signals and
  queries.
- Remove duplicated operator on the dropdown list on 'Report > Daily'.
- Add auth_drop_cnt instead of auth_redi_cnt when authentication not
  enabled.
- Remove 'Blocked Window Title' on 'Policy > Application Control'.
- Version query signal added.
- Cache DNS response only when it has at least one A record.
- Removed redundant checking for empty message from response cache.
- UTF-8 support for Jahaslist remote repository text file.
- Not sending DNS response after caching bug from v3.3.0 fixed.


2016-05-30, v3.2.1
- NxClassifier ruleset type for HTML text added.
- 'Keep HTML Text' option added on 'NxClassifier > Setup'.
- Domain validation for whitelist has been removed.
- Drop packet when there is a response message having no record from
  an upstream server.


2016-05-07, v3.1.9
- 'is_queue_full' flag removed from MasterCheck.
- Typo on 'Config > Redirection' fixed.
- NxClassifier DNS checking bug fixed.


2016-04-28, v3.1.8
- Set host IP only once for Syslog setup with system startup.
- 'Log Retention Days' length limit on GUI increased to 3.
- Separator for 'Slave IP' on 'config,cluster.jsp' changed to a comma.
- 'HTTP_RECAT_MAX_LINE' has been increased to 100000.
- Don't merge custom classified domains when it's not on Jahaslist.
- Use 'img/pix.png' to express a horizontal line on GUI.
- Reading file line by line when it imports Jahaslist.
- 'Web Hosting' category added on Komodia mapping.
- 'Disable Auto Update' on 'NxClassifier > Setup' removed.
- 'Enable Auto Update' on 'NxClassifier > Setup' added.
- Updating Jahaslist through remote repository added.
- Error message for upstream DNS query timeout added.
- DnsStats class added.
- Updating Jahaslist through remote repsitory added.
- Importing Jahaslist uses lesser memory.


2016-03-23, v3.1.4
- 'Log retention days' increased to 400.
- System domains bypassed for NxClient filtering.
- 'ddns_cnt' missing on 'log_operator_stats' bug fixed.
- DNS level safe-search enforcing for Bing added.
- '#{nx_name}' not populated on 'block,chrome.jsp' bug fixed.
- Zone trasfer search comes after zone file search.
- New algorithm for calculating the remaining TTL of a cached record to setup
  the TTL for each record separately.
- Response cache size not following 'DnsSetup.resp_cache_size' bug fixed.


2016-02-11, v3.1.1
- Dynamic DNS support added.
- Whitelist applied on safe-search.
- Delete temporary zone files nightly.
- Reclassified domain being deleted bug fixed.
- New zone file will be serviced publicly.


2016-01-23, v3.1.0
- Authority DNS server feature added.
- DNS setup menu on GUI separated.
- Different CSS applied on MS browser.
- Wildcard lookup allowed on zone transfer.
- Main.start_handler uses ResolverMan.
- Bypass DNS query against '*.ip6.arpa '.
- 'block-time' on policy not reset bug fixed.


2015-01-06, v3.0.9
- Minimum idle connection for DB pool changed to 10.
- Maximum idle connection for DB pool changed to 30.
- Auto-update for NxClassifier ruleset added.
- Update count for NxClassifier ruleset introduced for auto-update.
- Sorting whitelist domains for NxClient.
- Remote update for Jahaslist when NxFilter starts.
- Bypass remote update when there's no data in Jahaslist.
- Possible connection leak from RecatMan fixed.
- Delete recategorization data before submitting.
- 'reset_pw.bat' resets admin name to 'admin'.
- Recategorization requires to keep it for 3 days.
- Redirection works on total bypass and master node down.
- 'recatlist.ver' -> 'recatlist_ver.txt'.
- 'CDN' added for domain pattern dictionary.
- 'gob.xx' classified into goverment category.


2015-12-01, v3.0.6
- Jahaslist auto-update disabled when domain pattern dictionary disabled.
- Safe-search redirection applied to 'youtubei.googleapis.com' and
  'www.youtube-nocookie.com'.
- Policy based block-time added.
- Policy based whitelist added.


2015/11/6, v3.0.5
- HTML code input on 'GET/POST' requests blocked for preventing 'CSRF'
  attack.
- Alert categories added on 'Config > Alert'.
- Safe-search redirection applied to 'm.youtube.com'.


2015-10-21, v3.0.4
- Jahaslist added.
- Auto-classification by NxClassifier added.
- Shallalist removed.
- Use ParamTest instead of ParamValidator.
- Ciphers defined for Tomcat to solve 'ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY'
  error on Chrome.
- Remove 'www.' from reclassification request.
- Multi-bytes character support for block-page added.
- Excluded list added for NxClassifier.
- Max redirection count for NxClassifier increased to 5.
- Unclassified cache bypassed for Jahaslist and Shallalist.
- 1,000 operator limit for operator selectbox on report removed.
- 'RESTORE-DEFAULT' button added on 'NxClassifier > Ruleset' and
  'NxClassifier > Jahaslist'
- Unclassified domain cache removed.
- Remove admin session data when admin logout.
- admin.jsp?action=logout -> admin.jsp?action_flag=logout.
- On log-view, hovering on category will show all the categories if there
  are multiple categories.


2015-08-27, v2.8.7
- allowed_ip_new -> allowed_ip.
- New responsive login form template added.
- 'webapps/lib/jquery-1.11.3.min.js' added.
- 'webapps/lib/jquery.cookie.js' added.
- 'webapps/lib/bootstrap.min.css' added.
- CSS and Javascript file inclusion moved into 'top.jsp'.
- Preview script on 'Config > Block Page' changed to use 'document.write()'.
- Operator, user, policy name length limit increased to 64.


2015-08-20, v2.8.6
- Setting 'etime' by radio button bug on log-view fixed.
- Lazy loading for custom category domain applied.
- Custom category associated domain not showing on 'category,custom_edit.jsp'
  bug fixed.
- LicenseDao null pointer error when it adds error message bug fixed.
- New parsing algorithm for DomainPatternDic added.
- Tracker domain separated from Ads domain for DomainPatternDic.
- Missing data sanitization on WhitelistDao.update() added.
- Domain reclassification popup on log-view added.
- AutoCloseable DataBase and RowSet classes added.


2015-08-10, v2.8.5
- Recategorization request criteria activated.
- Block page size limit increased to 100 KB on validation.
- 'oem.properties' introduced.
- 'alert_email.ftl' template added.
- CNAME caching bug for safe-search fixed.


2015-08-01, v2.8.4
- 'EDIT' on 'Category > System' changed to 'ADD-DOMAIN'.
- Tomcat compilerSourceVM and compilerTargetVM set to 1.7.
- UserLoginDao.find_user() socket not closing bug fixed.
- Block page size limit increased to 100 KB.
- Bypassing 'Client Cache TTL' not working bug fixed.
- Response cache applied on DNS response having additional section.
- Use is_cached_once() instead of find() on DomainDic.
- 'moment.js' library removed from logging,*.jsp pages.


2015-07-23, v2.8.3
- 'start_ip' column length increased to 256.


2015-07-16, v2.8.2
- DaoUtil introduced for simplifying GUI customization.
- 'use_phishtank' field from ConfigData removed.
- Domain validation blocking for IDN bug fixed.
- Single category preference applied for 'Download'.
- Use 'ParamValidator.ERR_USERNAME_CHAR' for username checking.
- Ambiguous action target bug for 'category,system.jsp' fixed.
- Use formatted time for 'zop,logging,request.jsp'.
- Use formatted time for 'zop,logging,signal.jsp'.
- Use formatted time for 'zop,report,daily.jsp'.
- Missing 'jquery.js' bug for datetime picker fixed.
- Javascript date calculation bug on report fixed.


2015-07-07, v2.8.1
- Local domain excluded from Komodia query.
- Komodia query cache retention period increased to 7 days.
- Table name 'cache' changed to 'komodia'.
- Goverment category comes first when there are multi-categories for
  Komodia mapping.
- Special domain detection function added for Komodia.
- Single category preference applied for Home/Gardening.
- Remove 'www' for Komodia query.
- Adding domain into system category became possible.
- Duplicated map data for traffic DB on cluster bug fixed.
- '/nxcloud/conf/prefix.txt' added for dynamic classification.
- '/nxcloud/conf/suffix.txt' added for dynamic classification.
- Datetime picker not selecting the days of last month bug fixed.
- Database connection hang on 'Policy > policy' problem fixed.
- CategoryData.get_domain_list() method for lazy loading added.
- 'moment.js' library removed.


2015-06-12, v2.7.6
- IPv6 redirection IP setup added.
- prunsrv.exe updated to v1.0.15.
- Bypass filtering for queue full error on slave node.
- Bypass domain existence checking for queue full error.


2015-05-14, v2.7.5
- Pre-cache bug with CNAME record fixed.
- 'Max domain length check' on policy bypassed at default.
- 'Block covert channel' on policy is off at default.
- 'Block mailer worm' on policy is off at default.
- 'Block DNS rebinding' on policy is off at default.


2015-04-21, v2.7.3
- Dropdown menu added.
- config,config.jsp -> config,setup.jsp.
- zop,config,config.jsp -> zop,config,setup.jsp.
- main,dashboard.jsp -> dashboard.jsp.
- zop,main,dashboard.jsp -> zop,dashboard.jsp.
- CSS validated.
- /conf/komodia.map updated to fix some typo.


2015-04-09, v2.7.2
- Custom category domain limit increased to 100,000.
- daily_stats table added.
- request_traffic_5m, request_traffic_1h, real_user_count removed.
- Default data for empty trend chart added.
- LibDate.strftime_arr bug fixed.
- log_view, signal_view, netflow_view, hh24, category_count_5m removed.
- Daily report and weekly report being generated based on start date.
- Datetime picker added for log-view and report.
- Report caching structure redesigned.
- Delete old data on 02:00.
- Generating report cache for daily, weekly report on 03:00.
- 'stop_auto_report' option for cfg.properties added.
- Swimsuit/Underwear category on Komodia map merged into Fashion/Beauty.
- h2-1.3.176.jar added.
- Single category only for Komodia categories applied.
- Domain, user, client-ip count on weekly report to show MAX value.
- Operator statistics moved into 'Report > operator-stats'
- Client IP top chart added on report GUI.
- 'chart3div' tag removed from report GUI.
- 'allow_anon_query' option for cfg.properties added.
- Minimum response cache size increased to 100,000.
- Maximum response cache size increased to 2000,000.
- Well known site list size increased to 100,000.


2015-03-10, v2.6.4
- Syslog format changed to have 'NXFILTER' prefix.
- ShallalistUpdate to be using system DNS.
- Downloading the backup file from 'Config > backup'.
- cluster_monitor missing colummn bug fixed.
- DB_CLOSE_ON_EXIT=FALSE added in JDBC URL.
- report_server_ip option for cfg.properties for separating reporting
  DB added.
- Komodia 'Misc' mapping bug fixed.
- LicenseCheck not accessing DB.
- 'log_flush_limit' option for cfg.properties added.
- Komodia query only for existing domain.


2015-02-10, v2.6.2
- Komodia dynamic classification not added into cache.
- '/conf/komodia.map' updated to having 69 categories.
- License share between cluster nodes added.
- keystore_file, keystore_pass option added on cfg.properties for
  custom SSL certification.
- Multi-level domain chopping with Shallalist bug fixed.


2015-02-04, v2.6.0
- Komodia blacklist option added.
- alert_email.ftl removed.


2015-01-28, v2.5.4
- client_cache_ttl default set to 0.
- Operator first login dashboard traffic chart bug fixed.
- Domain test protocol changed.
- 'reset_acl.bat' and 'reset_acl.sh' script for resetting GUI ACL.
- Block page set_reason missing 500 error bug fixed.
- is_dup_user not set parameter bug fixed.


2015-01-20, v2.5.3
- Chrome block-page not showing on HTTPS bug fixed.
- Operator password added into PolicyAgent.
- URLBlacklist removed.


2015-01-05, v2.5.2
- New block-page set added.
- Chrome agent support added.
- DNS level Youtube safe-search enforcing added.
- localhost excluded from DNS ACL for WebSoket.


2014-12-10, v2.5.1
- Group account concept introduced.
- NxClient v4.x support added.
- Showing real username from NxClient.
- Proxy log not display correctly with IDN bug fixed.
- zvelo_timeout option added into cfg.properties.
- Proxy blocked reason not display bug fixed.
- 'local_resolver_port' option added into cfg.properties.
- Embedded Tomcat updated to v7.0.57.
- Proxy level domain redirection added.
- Bypassing IP host from forwarding query.
- Custom query parsing bug fixed.
- Java mail API updated to v1.5.1.


2014-11-12, v2.4.3
- DNS level safe-search enforcing implemented.
- Safe-search option became policy specific.
- Domain to domain redirection added.
- bypass_empty_domain option added into cfg.properties.
- Log filename changed to 'nxfilter.log'.
- PTR record bypassed from 'Block unclassified' option.


2014-11-01, v2.4.1
- Alert email showing detailed reason for proxy block.
- Operator specific statistics not generated bug fixed.
- Dynamic domain mapping interval changed to 120 seconds.


2014-10-20, v2.4.0-p2
- Faster startup time by reducing local port checking timeout.
- Performance increased by introducing thread safe map.
- Domain cache and unclassified cache introduced.
- Fusion chart compatibility removed.
- ResponseCache redesigned using thread safe map.
- Default response cache size increased to 200,000.
- err_list removed from DAO.
- 'max_slave_num' variable added into cfg.properties.
- traffic_trend_5m -> request_trend_5m.
- Report cache file extension changed from 'xml' to 'txt'.
- Minimum length for name adjusted to 1.
- NxError.err_detail -> NxError.reason_detail.
- Zvelo cloud option for blacklist added.
- 'www_dir' param introduced for easier customization of GUI.
- Default HTTPS port changed to 443.
- Temp direcotry under webapps moved into tmp/www.
- TCP port checking added into Windows setup.
- Checking blacklist_type disparity among cluster nodes.
- 'Same as default work-time policy' removed from user-edit.
- is_valid_domain, is_valid_email moved into lib.jsp.
- Dynamic domain association to user added.
- Redirection domain timeout error fixed.
- IP-token map not expired bug fixed.
- IP-token map timeout chagned to 2 minutes.
- License alert email bug fixed.


2014-09-09, v2.2.3
- Windows service name changed to 'NxCloud'.
- Windows installer added.
- Admin domain bypassed from filtering.


2014-09-02, v2.2.2
- STOP signal added for NxClient and NxUpdate.
- SWITCH signal removed.
- Default block page not showing bug with IE fixed.


2014-08-24, v2.2.1
- StatsMaker thread bypassed for a slave node.
- Bypass cache if there's an authority or additional record.
- Slave node monitor list not appeared bug fixed.
- Slave node request count added into 'Config > cluster'.
- Javascript added for hiding embedded block-page.
- upstream_dns option added into cfg.properties.
- Sending rf_block_ip to local user bug fixed.
- Duplicated custom category name check added.
- Static IP user comes before IP session.


2014-08-15, v2.2.0
- Active Directory integration using NxLogon added.
- tomcat.ks -> nxfilter.jks.


2014-08-04, v2.1.0
- Back-slash in NxPath replace to slash.
- Application control with NxClient.
- Proxy filtering with NxClient.
- top_nomenu.jsp, bottom_nocopy.jsp, action_info_nomenu.jsp removed.
- FusionCharts.js link removed from top.jsp.
- Global.UNCLASSIFIED_TEXT -> Config.get_unclassified_text().
- get_op_id removed from 'Operator > operator'.
- Slash relaced to back-slash on NxPath.
- IPUPDATE signal ingnored if it comes from a static IP.
- Default config files introduced.
- Proxy, application error count added into report.


2014-06-24, v2.0.3
- enable_login_redirection option addded.
- Default number of request handler increased to 8.
- Timeout applied to TCP port checking at startup.
- SMTP port reset bug on GUI fixed.
- Google chart not displaying for IE bug fixed.
- Bypass authentication for whtielist removed.


2014-06-04, v2.0.2
- Login redirection for unauthenticated user removed.
- Operator password bug fixed.
- Policy with system_flag bug fixed.


2014-05-20, v2.0.1
- Make a temporary copy for the request parameter map.
- '0:0:0:0:0:0:0:1' check for GUI restriction restored.
- Block, login, welcome page removed for GUI IP restriction.
- Operator default policy bug fixed.
- Operator specific report bug fixed.


2014-05-07, v2.0.0
- New GUI component layer for easy customization applied.
- Google chart introduced for dashboard and report.
- Weekly report added.
- Block-page edit, preview on GUI supported.
- 'Config > alert' menu separated.
- Alert period introduced.
- Detailed statstics with request-count, request-sum and ip-count.
- no-user, no-grp introduced for default user and group name.
- Login redirection using login domain.
- Admin name introduced.
- 'Config > admin-pw' -> 'Config > admin'.
- user_ip index added.
- history_retention_period -> log_retention_period
- history -> log.
- Variable names in access_violation.ftl changed.
- Use update button to change login-token.
- div.hr class replacing hr tag for IE compatibility.
- Row highlight for list introduced.
- Duplicated policy name allowed.
- Duplicated IP check.
- Cluster mode warning message added.
- Custom category not showing on policy bug fixed.
- Custom category domain limit bug fixed.
- 'Duplicate headers returned by the server' on Chrome bug fixed.
- Report statistics cache added for faster report generation.
- NxClient signals removed from DNS packet.
- Logout-domain not working bug fixed.
- Correct cluster node downtime added into alert email.
- 'overflow: hidden' added for IE compatibility.
- Operator specific block-page added.
- Not selecting 'Same as work-time policy' for user-edit bug fixed.
- Free-time flag added in user-test view.
- 24:00 added for free-time setup.