diff --git a/MiNote/.idea/gradle.xml b/MiNote/.idea/gradle.xml index 0897082..a4a7adb 100644 --- a/MiNote/.idea/gradle.xml +++ b/MiNote/.idea/gradle.xml @@ -3,6 +3,11 @@ + + + + + diff --git a/MiNote/.idea/inspectionProfiles/Project_Default.xml b/MiNote/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..7965361 --- /dev/null +++ b/MiNote/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/MiNote/app/build.gradle.kts b/MiNote/app/build.gradle.kts index 57a4d01..9063749 100644 --- a/MiNote/app/build.gradle.kts +++ b/MiNote/app/build.gradle.kts @@ -29,6 +29,14 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } + + packaging { + resources.excludes.add("META-INF/DEPENDENCIES"); + resources.excludes.add("META-INF/NOTICE"); + resources.excludes.add("META-INF/LICENSE"); + resources.excludes.add("META-INF/LICENSE.txt"); + resources.excludes.add("META-INF/NOTICE.txt"); + } } dependencies { @@ -37,6 +45,14 @@ dependencies { implementation(libs.material) implementation(libs.activity) implementation(libs.constraintlayout) +// implementation(fileTree(mapOf( +// "dir" to "E:\\AndroidProjects\\MiNote_Rewrite\\MiNote\\httpcomponents-client-4.5.14-bin\\lib", +// "include" to listOf("*.aar", "*.jar"), +// "exclude" to listOf() +// ))) + implementation(files("E:/AndroidProjects/MiNote_Rewrite/MiNote/httpcomponents-client-4.5.14-bin/lib/httpclient-osgi-4.5.14.jar")) + implementation(files("E:/AndroidProjects/MiNote_Rewrite/MiNote/httpcomponents-client-4.5.14-bin/lib/httpclient-win-4.5.14.jar")) + implementation(files("E:/AndroidProjects/MiNote_Rewrite/MiNote/httpcomponents-client-4.5.14-bin/lib/httpcore-4.4.16.jar")) testImplementation(libs.junit) androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) diff --git a/MiNote/app/src/main/AndroidManifest.xml b/MiNote/app/src/main/AndroidManifest.xml index e061ed5..5a89a7e 100644 --- a/MiNote/app/src/main/AndroidManifest.xml +++ b/MiNote/app/src/main/AndroidManifest.xml @@ -2,6 +2,7 @@ + @@ -20,7 +21,7 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.Notesmaster" + android:theme="@style/Theme.MiNote" tools:targetApi="31"> - + diff --git a/MiNote/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java b/MiNote/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java index b3b61e7..52c898a 100644 --- a/MiNote/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java +++ b/MiNote/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java @@ -63,24 +63,43 @@ public class GTaskASyncTask extends AsyncTask { }); } - private void showNotification(int tickerId, String content) { - Notification notification = new Notification(R.drawable.notification, mContext - .getString(tickerId), System.currentTimeMillis()); - notification.defaults = Notification.DEFAULT_LIGHTS; - notification.flags = Notification.FLAG_AUTO_CANCEL; - PendingIntent pendingIntent; - if (tickerId != R.string.ticker_success) { - pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, - NotesPreferenceActivity.class), 0); - - } else { - pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, - NotesListActivity.class), 0); - } - notification.setLatestEventInfo(mContext, mContext.getString(R.string.app_name), content, - pendingIntent); - mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); +// private void showNotification(int tickerId, String content) { +// Notification notification = new Notification(R.drawable.notification, mContext +// .getString(tickerId), System.currentTimeMillis()); +// notification.defaults = Notification.DEFAULT_LIGHTS; +// notification.flags = Notification.FLAG_AUTO_CANCEL; +// PendingIntent pendingIntent; +// if (tickerId != R.string.ticker_success) { +// pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, +// NotesPreferenceActivity.class), 0); +// +// } else { +// pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, +// NotesListActivity.class), 0); +// } +// notification.setLatestEventInfo(mContext, mContext.getString(R.string.app_name), content, +// pendingIntent); +// mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); +// } +private void showNotification(int tickerId, String content) { + PendingIntent pendingIntent; + if (tickerId != R.string.ticker_success) { + pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, + NotesPreferenceActivity.class), PendingIntent.FLAG_IMMUTABLE); + } else { + pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, + NotesListActivity.class), PendingIntent.FLAG_IMMUTABLE); } + Notification.Builder builder = new Notification.Builder(mContext) + .setAutoCancel(true) + .setContentTitle(mContext.getString(R.string.app_name)) + .setContentText(content) + .setContentIntent(pendingIntent) + .setWhen(System.currentTimeMillis()) + .setOngoing(true); + Notification notification=builder.getNotification(); + mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); +} @Override protected Integer doInBackground(Void... unused) { diff --git a/MiNote/gradle.properties b/MiNote/gradle.properties index 4387edc..990fa51 100644 --- a/MiNote/gradle.properties +++ b/MiNote/gradle.properties @@ -18,4 +18,6 @@ android.useAndroidX=true # Enables namespacing of each library's R class so that its R class includes only the # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true \ No newline at end of file +android.nonTransitiveRClass=true +android.nonFinalResIds=false +android.enableAdapter=true \ No newline at end of file diff --git a/MiNote/httpcomponents-client-4.5.14-bin/LICENSE.txt b/MiNote/httpcomponents-client-4.5.14-bin/LICENSE.txt new file mode 100644 index 0000000..32f01ed --- /dev/null +++ b/MiNote/httpcomponents-client-4.5.14-bin/LICENSE.txt @@ -0,0 +1,558 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +========================================================================= + +This project includes Public Suffix List copied from + +licensed under the terms of the Mozilla Public License, v. 2.0 + +Full license text: + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/MiNote/httpcomponents-client-4.5.14-bin/NOTICE.txt b/MiNote/httpcomponents-client-4.5.14-bin/NOTICE.txt new file mode 100644 index 0000000..10a2916 --- /dev/null +++ b/MiNote/httpcomponents-client-4.5.14-bin/NOTICE.txt @@ -0,0 +1,6 @@ +Apache HttpComponents Client +Copyright 1999-2021 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + diff --git a/MiNote/httpcomponents-client-4.5.14-bin/RELEASE_NOTES.txt b/MiNote/httpcomponents-client-4.5.14-bin/RELEASE_NOTES.txt new file mode 100644 index 0000000..c1f0a0f --- /dev/null +++ b/MiNote/httpcomponents-client-4.5.14-bin/RELEASE_NOTES.txt @@ -0,0 +1,2613 @@ +Release 4.5.14 +------------------- + +This is a maintenance release that fixes several minor bugs reported discovered since +the 4.5.13 release. + + +Changelog: +------------------- + +* HTTPCLIENT-2206: Corrected resource de-allocation by fluent response objects. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2174: URIBuilder to return a new empty list instead of unmodifiable + Collections#emptyList. + Contributed by Oleg Kalnichevski + +* Don't retry requests in case of NoRouteToHostException. + Contributed by Jaikiran Pai + +* HTTPCLIENT-2144: RequestBuilder fails to correctly copy charset of requests with + form url-encoded body. + Contributed by Oleg Kalnichevski + +* PR #269: 4.5.x use array fill and more. + - Use Arrays.fill(). + - Remove redundant modifiers. + - Use Collections.addAll() and Collection.addAll() APIs instead of loops. + - Remove redundant returns. + - No need to explicitly declare an array when calling a vararg method. + - Remote extra semicolons (;). + - Use a 'L' instead of 'l' to make long literals more readable. + Contributed by Gary Gregory + +* PublicSuffixListParser.parseByType(Reader) allocates but does not use a 256 char + StringBuilder. + Contributed by Gary Gregory + + + +Release 4.5.13 +------------------- + +This is a maintenance release that fixes incorrect handling of malformed authority component +in request URIs. + + +Changelog: +------------------- + +* Incorrect handling of malformed authority component by URIUtils#extractHost. + Contributed by Oleg Kalnichevski + +* Avoid updating Content-Length header in a 304 response. + Contributed by Dirk Henselin + +* Bug fix: BasicExpiresHandler is annotated as immutable but is not (#239) + Contributed by Gary Gregory + +* HTTPCLIENT-2076: Fixed NPE in LaxExpiresHandler (#222). + Contributed by heejeongkim + + +Release 4.5.12 +------------------- + +This is a maintenance release that fixes a regression introduced by the previous release +that caused rejection of certificates with non-standard domains. + +Changelog: +------------------- + +* HTTPCLIENT-2053: Add SC_PERMANENT_REDIRECT (308) to DefaultRedirectStrategy + Contributed by Michael Osipov + +* HTTPCLIENT-2052: Fixed redirection of entity enclosing requests with non-repeatable entities + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2047: Fixed regression in DefaultHostnameVerifier causing rejection of certificates + with non-standard domains. + Contributed by Oleg Kalnichevski + +* Bug fix: Fixed handling of private domains by PublicSuffixMatcher + Contributed by Oleg Kalnichevski + + +Release 4.5.11 +------------------- + +This is a maintenance release that fixes a number defects discovered since 4.5.10 +and upgrades HttpCore dependency to version 4.4.13. + + +Changelog: +------------------- + +* Improved domain name normalization by DefaultHostnameVerifier. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2033: Connection managers to immediately shut down all leased connection upon shutdown. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2020: DefaultBackoffStrategy to support TOO_MANY_REQUESTS (429). + Contributed by Michael Osipov + +* HTTPCLIENT-2030: Fixed PublicSuffixMatcher#getDomainRoot behavior with invalid hostnames. + Contributed by Niels Basjes + +* HTTPCLIENT-2029: URIBuilder to support parsing of non-UTF8 URIs. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-2026: Fixed URIBuilder#isOpaque() logic. + Contributed by Oleg Kalnichevski + +* Updated text in pool stats description + Contributed by chao chang + +* HTTPCLIENT-2023: Allow nested arrays and all primitive types in DefaultHttpCacheEntrySerializer. + Contributed by Olof Larsson + +* Fixed fallback PublicSuffixMatcher instance. + Contributed by Ryan Schmitt + +* Added family property #145. + Contributed by behrangsa + + +Release 4.5.10 +------------------- + +This is a maintenance release that fixes a number defects discovered since 4.5.9 +and upgrades HttpCore dependency to version 4.4.12. + + +Changelog: +------------------- + +* Refactor DefaultRedirectStrategy for subclassing. + Contributed by Gary Gregory + +* Improved handling of request cancellation. + Contributed by Oleg Kalnichevski + +* Fixed concurrent use of threading unsafe HttpUriRequest messages. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1997: Return the last domain segment instead of normalized domain name + from PublicSuffixMatcher#getDomainRoot in case there is no match. + Contributed by jeromedemangel + +* Preserve original encoding of the URI path component if the URI is valid. + Contributed by Oleg Kalnichevski + + +Release 4.5.9 +------------------- + +This is a maintenance release that fixes a number defects discovered since 4.5.8. + + +Changelog: +------------------- + +* HTTPCLIENT-1991: incorrect handling of non-standard DNS entries by PublicSuffixMatcher + Contributed by Oleg Kalnichevski + +* Fix bug in URIBuilder#isPathEmpty method to verify if encodedPath is an empty string + Contributed by Varun Nandi + +* HTTPCLIENT-1984: Add normalize URI to RequestConfig copy constructor + Contributed by Matt Nelson + +* HTTPCLIENT-1976: Unsafe deserialization in DefaultHttpCacheEntrySerializer + Contributed by Artem Smotrakov + + + +Release 4.5.8 +------------------- + +This is a maintenance release that makes request URI normalization configurable on per request basis +and also ports several improvements in URI handling from HttpCore master. + + +Changelog: +------------------- + +* HTTPCLIENT-1969: Filter out weak cipher suites. + Contributed by Artem Smotrakov + +* HTTPCLIENT-1968: Preserve escaped PATHSAFE characters when normalizing URI path segments. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1968: URIBuilder to split path component into path segments when digesting a URI + (ported from HttpCore master). + Contributed by Oleg Kalnichevski + +* Improved cache key generation (ported from HttpCore master). + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1968: added utility methods to parse and format URI path segments (ported + from HttpCore master). + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1968: Make normalization of URI paths optional. + Contributed by Tamas Cservenak + +* Some well known proxies respond with Content-Length=0, when returning 304. For robustness, always use the + cached entity's content length, as modern browsers do. + Contributed by Author: Jayson Raymond + + + +Release 4.5.7 +------------------- + +This is a maintenance release that corrects Automatic-Module-Name definitions added in the previous +release and fixes a number of minor defects discovered since 4.5.6. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Changelog: +------------------- + +* Upgraded HttpCore to version 4.4.11 + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1960: URIBuilder incorrect handling of multiple leading slashes in path component + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1958: PoolingHttpClientConnectionManager to throw ExecutionException in case of a lease operation + cancellation instead of InterruptedException. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1952: Allow default User Agent to be disabled. + Contributed by Michael Osipov + +* HTTPCLIENT-1956: CONNECT overwrites the main request object in the HTTP context when requests are executed + via a proxy tunnel. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1940: deprecated SSLSocketFactory made to rethrow SocketTimeoutException as + ConnectTimeoutException for consistency with non-deprecated code. + Contributed by Oleg Kalnichevski + +* Fixed regression in BasicCookieStore serialization. + Contributed by Author: Mark Mielke + +* HTTPCLIENT-1929: Corrected Automatic-Module-Name entries for HttpClient Fluent, HttpClient Windows + and HttpClient Cache. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1927: URLEncodedUtils#parse breaks at double quotes when parsing unquoted values. + Contributed by Oleg Kalnichevski + +* HTTPCLIENT-1939: Update Apache Commons Codec from 1.10 to 1.11 + Contributed by Gary Gregory + + +Release 4.5.6 +------------------- + +This is a maintenance release that adds Automatic-Module-Name to the manifest for compatibility +with Java 9 Platform Module System and fixes a number of issues discovered since 4.5.5 + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Changelog: +------------------- + +* [HTTPCLIENT-1882=: reset authentication state on I/O or runtime error for connection based + authentication schemes (such as NTLM) + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1924]: HttpClient to shut down the connection manager if a fatal error occurs + in the course of a request execution. + Contributed by Oleg Kalnichevski + +* Add Automatic-Module-Name in manifest so Java9 modular applications can depend on this library + Contributed by Varun Nandi + +* [HTTPCLIENT-1923]: fixed incorrect connection close on shutdown + fixed corresponding test + Contributed by Aleksei Arsenev + +* [HTTPCLIENT-1906]: certificates containing alternative subject names other than DNS and IP + (such as RFC822) get rejected as invalid + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1904]: check cookie domain for null + Contributed by Hans-Peter Keck + +* [HTTPCLIENT-1900]: proxy protocol processor does not post-process CONNECT response messages + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1911]: Failing tests on Fedora 28 due to weak encryption algorithms in test + keystore. + Contributed by Gary Gregory and Michael Simacek + + +Release 4.5.5 +------------------- + +HttpClient 4.5.5 (GA) is a maintenance release that fixes a regression introduced +by the previous release causing a NPE in SystemDefaultCredentialsProvider. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Changelog: +------------------- + +* [HTTPCLIENT-1690] Avoid merging Content-Encoding headers coming with 304 status to cache entry. + Contributed by Sudheera Palihakkara + +* [HTTPCLIENT-1888] Regression in SystemDefaultCredentialsProvider#getCredentials causing NPE. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1886] Update HttpClient 4.5.x from HttpCore 4.4.7 to 4.4.9 + Contributed by Gary Gregory + +* [HTTPCLIENT-1889] org.apache.http.client.utils.URLEncodedUtils.parse() + should return a new ArrayList when there are no query parameters. + Contributed by Gary Gregory + + +Release 4.5.4 +------------------- + +HttpClient 4.5.4 (GA) is a maintenance release that fixes a number of defects found since 4.5.3. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Changelog: +------------------- + +* [HTTPCLIENT-1883] SystemDefaultCredentialsProvider to use https.proxy* system properties + for origins with port 443. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1881] Allow truncated NTLM packets to work with this client. + Contributed by Karl Wright + +* [HTTPCLIENT-1855] Disabled caching of DIGEST auth scheme instances due to unreliability of nonce counter + when the auth cache is shared by multiple sessions. + Contributed by Oleg Kalnichevski + +* BasicCookieStore uses a ReentrantReadWriteLock to avoid synchronization on #getCookies/#toString + while maintaining thread safety. + Contributed by Carter Kozak + +* [HTTPCLIENT-1865] DefaultServiceUnavailableRetryStrategy does not respect HttpEntity#isRepeatable. + Contributed by Tomas Celaya + +* [HTTPCLIENT-1859] Encode Content-Disposition name and filename elements appropriately. + Contributed by Karl Wright + +* Avoid fetching the cached entity twice on cache hit. + Contributed by Leandro Nunes + +* [HTTPCLIENT-1835] #evictExpiredConnections no longer causes the #evictIdleConnections behaviour + to be implicitly enabled. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1831= URIBuilder should not prepend a leading slash to relative URIs. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1833] Fix Windows Negotiate-NTLM handling of proxies. + Contributed by Roman Stoffel + +* [HTTPCLIENT-1817] Add a "Trust All" TrustStrategy implementation. + Contributed by Gary Gregory + +* [HTTPCLIENT-1816] Update Apache Commons Codec 1.9 to 1.10. + Contributed by Gary Gregory + +* [HTTPCLIENT-1836] DefaultHostnameVerifier#getSubjectAltNames(X509Certificate) throws java.lang.ClassCastException. + Contributed by Gary Gregory , Ilian Iliev + +* [HTTPCLIENT-1845]: Extract InputStreamFactory classes out of GzipDecompressingEntity and + DeflateDecompressingEntity for reuse and to create less garbage. + Contributed by Gary Gregory + +* [HTTPCLIENT-1847] Update Ehcache from 2.6.9 to 2.6.11. + Contributed by Gary Gregory + +* [HTTPCLIENT-1848] Update spymemcached from 2.11.4 to 2.12.3. + Contributed by Gary Gregory + +* [HTTPCLIENT-1849] Update JNA from 4.1.0 to 4.4.0. + Contributed by Gary Gregory + +* [HTTPCLIENT-1850] Update SLF4J from 1.7.6 to 1.7.25. + Contributed by Gary Gregory + + +Release 4.5.3 +------------------- + +HttpClient 4.5.3 (GA) is a maintenance release that fixes a number of defects found since 4.5.2. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Changelog: +------------------- + +* [HTTPCLIENT-1803] Improved handling of malformed paths by URIBuilder. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1802] Do not attempt to match SSL host to subject CN if subject alternative name of any type are given. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1788] RFC 6265 policy must not reject cookies with paths that are no prefix of the uri path. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1792] SSLConnectionSocketFactory to throw SSLPeerUnverifiedException with a better error message + when hostname verification fails. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1779] [OSGi] support NTLM proxy authentication. + Contributed by Julian Sedding + +* [HTTPCLIENT-1773] [OSGi] HttpProxyConfigurationActivator does not unregister HttpClientBuilderFactory. + Contributed by Julian Sedding + +* [HTTPCLIENT-1771] improve OSGi webconsole display for org.apache.http.proxyconfigurator. + Contributed by Julian Sedding + +* [HTTPCLIENT-1770] OSGi metatype for org.apache.http.proxyconfigurator missing factoryPid. + Contributed by Julian Sedding + +* [HTTPCLIENT-1767] Null pointer dereference in EofSensorInputStream and ResponseEntityProxy. + Contributed by Peter Ansell + +* Support changing system default ProxySelector. + Contributed by Robin Stevens + +* All services registered in the OSGi service registry provide the whole bundle header dictionary as vendor + property value. + Contributed by Christoph Fiehe + +* [HTTPCLIENT-1750] OSGi support for CachingHttpClientBuilder. + Contributed by Justin Edelson + +* [HTTPCLIENT-1749] OSGi client builder to use weak references to track HttpClient instances. + Contributed by Justin Edelson + +* [HTTPCLIENT-1747] apply RequestConfig defaults when using HttpParams values in backward compatibility mode. + Contributed by Oleg Kalnichevski + +* Override LaxRedirectStrategy's INSTANCE field. + Contributed by Eric Wu + +* [HTTPCLIENT-1736] do not request cred delegation by default when using Kerberos auth. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1744] normalize hostname and certificate CN when matching to CN. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1732] SystemDefaultCredentialsProvider to take http.proxyHost and http.proxyPort system + properties into account. + Contributed by Oleg Kalnichevski + +* Revert "HTTPCLIENT-1712: SPNego schemes to take service scheme into account when generating auth token". + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1727] AbstractHttpClient#createClientConnectionManager does not account for context class loader. + Contributed by Charles Allen + +* [HTTPCLIENT-1726:] Copy the SNI fix from SSLConnectionSocketFactory to the deprecated SSLSocketFactory class. + Contributed by David Black + + +Release 4.5.2 +------------------- + +HttpClient 4.5.2 (GA) is a maintenance release that fixes a number of minor defects found since 4.5.1. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Changelog: +------------------- + +* [HTTPCLIENT-1710, HTTPCLIENT-1718, HTTPCLEINT-1719] OSGi container compatibility improvements. + Contributed by 212427891 + +* [HTTPCLIENT-1717] Make fluent API Content#Content(byte[], ContentType) public. + Contributed by Cash Costello + +* [HTTPCLIENT-1715] NTLMEngineImpl#Type1Message not thread safe but declared as a constant. + Contributed by Olivier Lafontaine , Gary Gregory + +* [HTTPCLIENT-1714] Add HttpClientBuilder#setDnsResolver(DnsResolver). + Contributed by Alexis Thaveau + +* [HTTPCLIENT-1712] SPNego schemes to take service scheme into account when generating auth token. + Contributed by Georg Romstorfer + +* [HTTPCLIENT-1700] Netscape draft, browser compatibility, RFC 2109, RFC 2965 and default cookie + specs to ignore cookies with empty name for consistency with RFC 6265 specs. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1704] IgnoreSpec#match to always return false. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1550] Fixed 'deflate' zlib header check. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1698] Fixed matching of IPv6 addresses by DefaultHostnameVerifier + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1695] RFC 6265 compliant cookie spec to ignore cookies with empty name / missing + value. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1216] Removed ThreadLocal subclass from DateUtils. + Contributed by Jochen Kemnade + +* [HTTPCLIENT-1685] PublicSuffixDomainFilter to ignore local hosts and local domains. + Contributed by Oleg Kalnichevski + + + +Release 4.5.1 +------------------- + +HttpClient 4.5.1 (GA) is a maintenance release that fixes a number of minor defects found since 4.5. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Changelog: +------------------- + +* [HTTPCLIENT-1680] redirect of a POST request causes ClientProtocolException. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1673] org.apache.http.entity.mime.content.* missing from OSGi exports. + Contributed by Benson Margulies + +* [HTTPCLIENT-1668] Fluent request incorrectly handles connect timeout setting. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1667] RequestBuilder does not take charset into account when creating + UrlEncodedFormEntity. + Contributed by Sergey Smith + +* [HTTPCLIENT-1655] HttpClient sends RST instead of FIN ACK sequence when using non-persistant + connections. + Contributed by Oleg Kalnichevski + + + +Release 4.5 +------------------- + +HttpClient 4.5 (GA) is a minor feature release that includes several incremental enhancements +to the exisitng functionality such as support for private domains in the Mozilla Public Suffix List. + +Changelog: +------------------- + +* Reduced default validate after inactivity setting from 5 sec to 2 sec + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1649] Fixed serialization of auth schemes + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1645]: Fluent requests to inherit config parameters of the executor. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1640]: RFC6265 lax cookie policy fails to parse 'max-age' attribute. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1633]: RFC6265CookieSpecProvider compatibility level setting has no effect. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1613]: Support for private domains in Mozilla Public Suffix List. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1651]: Add ability to disable content compression on a request basis + Contributed by Michael Osipov + +* [HTTPCLIENT-1654]: Deprecate/remove RequestConfig#decompressionEnabled in favor of #contentCompressionEnabled + Contributed by Michael Osipov + + + +Release 4.4.1 +------------------- + +HttpClient 4.4.1 (GA) is a maintenance release that fixes a number of defects in new functionality +introduced in version 4.4. + +Users of HttpClient 4.4 are encouraged to upgrade. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Changelog: +------------------- + +* Marked RFC 2109, RFC 2965, Netscape draft cookie specs as obsolete + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1633] RFC6265CookieSpecProvider compatibility level setting has no effect. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1628]: Auth cache can fail when domain name contains uppercase characters. + Contributed by Dennis Ju + +* [HTTPCLIENT-1609] Stale connection check in PoolingHttpClientConnectionManager has no effect. + Internal connection pool does not correctly implement connection validation. + Contributed by Charles Lip + + + +Release 4.4 Final +------------------- + +This is the first stable (GA) release of HttpClient 4.4. Notable features and enhancements included +in 4.4 series are: + +* Support for the latest HTTP state management specification (RFC 6265). Please note that the old +cookie policy is still used by default for compatibility reasons. RFC 6265 compliant cookie +policies need to be explicitly configured by the user. Please also note that as of next feature +release support for Netscape draft, RFC 2109 and RFC 2965 cookie policies will be deprecated +and disabled by default. It is recommended to use RFC 6265 compliant policies for new applications +unless compatibility with RFC 2109 and RFC 2965 is required and to migrate existing applications +to the default cookie policy. + +* Enhanced, redesigned and rewritten default SSL hostname verifier with improved RFC 2818 +compliance + +* Default SSL hostname verifier and default cookie policy now validate certificate identity +and cookie domain of origin against the public suffix list maintained by Mozilla.org + + +* More efficient stale connection checking: indiscriminate connection checking which results +in approximately 20 to 50 ms overhead per request has been deprecated in favor of conditional +connection state validation (persistent connections are to be re-validated only if a specified +period inactivity has elapsed) + +* Authentication cache thread-safety: authentication cache used by HttpClient is now thread-safe +and can be shared by multiple threads in order to re-use authentication state for subsequent +requests + +* Native Windows Negotiate and NTLM via SSPI through JNA: when running on Windows OS HttpClient +configured to use native NTLM or SPNEGO authentication schemes can make use of platform specific +functionality via JNA and current user credentials. This functionality is still considered +experimental, known to have compatibility issues and subject to change without prior notice. +Use at your discretion. + +This release also includes all fixes from the stable 4.3.x release branch. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + + +Changelog: +------------------- + +* Support for the latest HTTP state management specification (RFC 6265). + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1515] Caching of responses to HEAD requests + Contributed by Tyrone Cutajar and + Francois-Xavier Bonnet + +* [HTTPCLIENT-1560] Native Windows auth improvements + Contributed by Michael Osipov + +* Update Apache Commons Logging version from 1.1.3 to 1.2. + Contributed by Gary Gregory + +* Update Apache Commons Codec version from 1.6 to 1.9. + Contributed by Gary Gregory + +* Update Ehcache version from 2.2.0 to 2.6.9. + Contributed by Gary Gregory + +* Update Ehcache version from 2.2.0 to 2.6.9. + Contributed by Gary Gregory + +* Update Spymemcached version from 2.6 to 2.11.4. + Contributed by Gary Gregory + +* Update SLF4J version from 1.5.11 to 1.7.7. + Contributed by Gary Gregory + + + + + +Release 4.4 BETA1 +------------------- + +This is the first BETA release of HttpClient 4.4. Notable features and enhancements included +in 4.4 series are: + +* Enhanced redesigned and rewritten default SSL hostname verifier with improved RFC 2818 +compliance + +* Default SSL hostname verifier and default cookie policy now validate certificate identity +and cookie domain of origin against the public suffix list maintained by Mozilla.org + + +* Native windows Negotiate/NTLM via JNA: when running on Windows OS HttpClient configured to use +native NTLM or SPNEGO authentication schemes can make use of platform specific functionality +via JNA and current user system credentials + +* More efficient stale connection checking: indiscriminate connection checking which results +in approximately 20 to 50 ms overhead per request has been deprecated in favor of conditional +connection state validation (persistent connections are to be re-validated only if a specified +period inactivity has elapsed) + +* Authentication cache thread-safety: authentication caches used by HttpClient is now thread-safe +and can be shared by multiple threads in order to re-use authentication state for subsequent +requests + +This release also includes all fixes from the stable 4.3.x release branch. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + + +Changelog: +------------------- + +* [HTTPCLIENT-1547] HttpClient OSGi bundle doesn't import the package "javax.naming". + Contributed by Willem Jiang + +* [HTTPCLIENT-1541] Use correct (HTTP/hostname) service principal name for Windows native + Negotiate/NTLM auth schemes. + Contributed by Ka-Lok Fung + +* Improved compliance with RFC 2818: default hostname verifier to ignore the common name of the + certificate subject if alternative subject names (dNSName or iPAddress) are present. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1540] Support delegated credentials (ISC_REQ_DELEGATE) by Native windows + native Negotiate/NTLM auth schemes. + Contributed by Ka-Lok Fung + + + +Release 4.4 ALPHA1 +------------------- + +This is the first ALPHA release of HttpClient 4.4. Notable features and enhancements included +in the 4.4 branch are: + +* More efficient stale connection checking: indiscriminate connection checking which results +in approximately 20 to 50 ms overhead per request has been deprecated in favor of conditional +connection state validation (persistent connections are to be re-validated only if a specified +period inactivity has elapsed) + +* Native windows Negotiate/NTLM via JNA: when running on Windows OS HttpClient configured to use +native NTLM or SPNEGO authentication schemes can make use of platform specific functionality +via JNA and current user system credentials + +* Authentication cache thread-safety: authentication caches used by HttpClient is now thread-safe +and can be shared by multiple threads in order to re-use authentication state for subsequent +requests + +This release also includes all fixes from the stable 4.3.x release branch. + +Please note that as of 4.4, HttpClient requires Java 1.6 or newer. + +Please note that new features included in this release are still considered experimental and +their API may change in the future 4.4 alpha and beta releases. + + +Changelog: +------------------- + +* [HTTPCLIENT-1493] Indiscriminate connection checking has been deprecated in favor of conditional + connection state validation. Persistent connections are to be re-validated only after a defined + period inactivity prior to being leased to the consumer. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1519] Use the original HttpHost instance passed as a parameter to + HttpClient#execute when generating 'Host' request header. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1491] Enable provision of Service Principal Name in Windows native + auth scheme. + Contributed by Malcolm Smith + +* [HTTPCLIENT-1403] Pluggable content decoders. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1466] FileBodyPart#generateContentType() ignores custom ContentType values. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1461] fixed performance degradation in gzip encoded content processing + introduced by HTTPCLIENT-1432. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1457] Incorrect handling of Windows (NT) credentials by + SystemDefaultCredentialsProvider. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1456] Request retrial after status 503 causes ClientProtocolException. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1454] Make connection operator APIs public. + Contributed by Tamas Cservenak + +* Update JUnit to version 4.11 from 4.9 + Contributed by Gary Gregory + + + +Release 4.3.4 +------------------- + +HttpClient 4.3.4 (GA) is a maintenance release that improves performance in high concurrency +scenarios. This version replaces dynamic proxies with custom proxy classes and eliminates thread +contention in java.reflect.Proxy.newInstance() when leasing connections from the connection pool +and processing response messages. + + +Changelog: +------------------- + +* Replaced dynamic proxies with custom proxy classes to reduce thread contention. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1484] GzipCompressingEntity should not close the underlying output stream + if the entity has not been fully written out due to an exception. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1474] Fixed broken entity enclosing requests in HC Fluent. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1470] CachingExec(ClientExecChain, HttpCache, CacheConfig, AsynchronousValidator) + throws NPE if config is null + + + + +Release 4.3.3 +------------------- + +HttpClient 4.3.3 (GA) is a bug fix release that fixes a regression introduced by the previous +release causing a significant performance degradation in compressed content processing. + +Users of HttpClient 4.3 are encouraged to upgrade. + +Changelog: +------------------- + +* [HTTPCLIENT-1466] FileBodyPart#generateContentType() ignores custom ContentType values. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1453] Thread safety regression in PoolingHttpClientConnectionManager + #closeExpiredConnections that can lead to ConcurrentModificationException. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1461] fixed performance degradation in compressed content processing + introduced by HTTPCLIENT-1432. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1457] Incorrect handling of Windows (NT) credentials by + SystemDefaultCredentialsProvider. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1456] Request retrial after status 503 causes ClientProtocolException. + Contributed by Oleg Kalnichevski + + +Release 4.3.2 +------------------- + +HttpClient 4.3.2 (GA) is a maintenance release that delivers a number of improvements +as well as bug fixes for issues reported since 4.3.1 release. SNI support for +Oracle JRE 1.7+ is being among the most notable improvements. + +Users of HttpClient 4.3 are encouraged to upgrade. + +Changelog: +------------------- + +* [HTTPCLIENT-1447] Clients created with HttpClients.createMinimal do not work with absolute URIs + Contributed by Joseph Walton + +* [HTTPCLIENT-1446] NTLM proxy + BASIC target auth fails with 'Unexpected state: + MSG_TYPE3_GENERATED'. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1443] HttpCache uses the physical host instead of the virtual host as a cache key. + Contributed by Francois-Xavier Bonnet + +* [HTTPCLIENT-1442] Authentication header set by the user gets removed in case + of proxy authentication (affects plan HTTP requests only). + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1441] Caching AsynchronousValidationRequest leaks connections. + Contributed by Dominic Tootell + +* [HTTPCLIENT-1440] 'file' scheme in redirect location URI causes NPE. + Contributed by James Leigh + +* [HTTPCLIENT-1437] Made Executor#execute thread safe. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1119] SNI support (Oracle Java 1.7+ only). + Contributed by Bruno Harbulot + +* [HTTPCLIENT-1435] Fluent Executor ignores custom request properties. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1432] Lazy decompressing of HttpEntity#getContent() to avoid EOFException + in case of an empty response with 'Content-Encoding: gzip' header. + Contributed by Yihua Huang + +* [HTTPCLIENT-1431] (Regression) deprecated connection manager cannot be used with + a custom LayeredSchemeSocketFactory. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1425] Fixed socket closed exception thrown by caching HttpClient when the origin + server sends a long chunked response. + Contributed by James Leigh + +* [HTTPCLIENT-1417] Fixed NPE in BrowserCompatSpec#formatCookies caused by version 1 + cookies with null cookie value. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1416] Fixed NPE in CachingHttpClientBuilder#build(). + Contributed by Oleg Kalnichevski + + + +Release 4.3.1 +------------------- + +HttpClient 4.3.1 (GA) is a bug fix release that addresses a number of issues reported since +release 4.3. + +Users of HttpClient 4.3 are strongly encouraged to upgrade. + +Changelog +------------------- + +* [HTTPCLIENT-1410] Browser compatible hostname verifier no longer rejects + *.co., *.gov., *.info., etc as invalid. + Contributed by Oleg Kalnichevski + +* Ensure X509HostnameVerifier is never null. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1405] CONNECT HTTP/1.1 requests lack mandatory 'Host' header. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1402] Cache default User-Agent value. + Contributed by yuexiaojun + +* [HTTPCLIENT-1398] Fixed invalid OSGi metadata caused by corrupted Maven bundle plugin metadata. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1399] Fixed NPE in RequestBuilder. + Contributed by Oleg Kalnichevski + + + + +Release 4.3 Final +------------------- + +This is the first stable (GA) release of HttpClient 4.3. The most notable enhancements included +in this release are: + +* Support for Java 7 try-with-resources for resource management (connection release.) + +* Added fluent Builder classes for HttpEntity, HttpRequest, HttpClient and SSLContext instances. + +* Deprecation of preference and configuration API based on HttpParams interface in favor of +constructor injection and plain configuration objects. + +* Reliance on object immutability instead of access synchronization for thread safety. +Several old classes whose instances can be shared by multiple request exchanges have +been replaced by immutable equivalents. + +* DefaultHttpClient, DecompressingHttpClient, CachingHttpClient and similar classes are +deprecated in favor of builder classes that produce immutable HttpClient instances. + +* HttpClient builders now dynamically construct a request execution pipeline tailored +specifically to the user configuration by physically excluding unnecessary protocol components. + +* There is now an option to construct a minimal HttpClient implementation that can only execute +basic HTTP message exchanges without redirects, authentication, state management or proxy support. +This feature might be of particular use in web crawler development. + +* There is now option to avoid strict URI syntax for request URIs by executing HTTP requests +with an explicitly specified target host. HttpClient will no longer attempt to parse the request +URI if it does not need to extract the target host from it. + +This release also includes all fixes from the stable 4.2.x release branch. + + +Changelog +------------------- +* [HTTPCLIENT-1371] Weak ETag Validation is Useful On PUT With If-Match + Contributed by James Leigh + +* [HTTPCLIENT-1394] Support for Native windows Negotiate/NTLM via JNA + Contributed by Ryan McKinley + +* [HTTPCLIENT-1384] Expose CacheInvalidator interface. + Contributed by Nicolas Richeton + +* [HTTPCLIENT-1385] Fixed path normalization in CacheKeyGenerator + Contributed by James Leigh + +* [HTTPCLIENT-1370] Response to non-GET requests should never be cached with the default + ResponseCachingPolicy + Contributed by James Leigh + +* [HTTPCLIENT-1373] OPTIONS and TRACE should not invalidate cache + Contributed by James Leigh + +* [HTTPCLIENT-1383] HttpClient enters an infinite loop during NTLM authentication if the opposite + endpoint keeps responding with a type 2 NTLM response after type 3 MTLM message has already been + sent by the client. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1372] Refactor HttpMultipart, and add RFC6532 mode, so that headers in post + are no longer constrained to ASCII values. + Contributed by Karl Wright + +* [HTTPCLIENT-1377] User principal for non-NTLM authentication is incorrectly generated when using + user credentials are specified as NTCredentials + Contributed by Gary Gregory + + + +Release 4.3 BETA2 +------------------- + +This is the second BETA release of HttpClient 4.3. The most notable features and improvements +in the 4.3 branch are: Support for Java 7 try-with-resources for resource management (connection +release); fluent Builder classes for HttpEntity, HttpRequest and HttpClient instances, deprecation +of preference and configuration API based on HttpParams interface in favor of constructor injection +and plain configuration objects, reliance on object immutability instead of access synchronization +for thread safety. + +This release also includes all fixes from the stable 4.2.x release branch. + +Changelog +------------------- + + +* [HTTPCLIENT-1366] org.apache.http.client.utils.URLEncodedUtils should parse the semicolon as a query parameter separator. + Contributed by Gary Gregory + +* [HTTPCLIENT-1365] NPE when ManagedHttpClientConnectionFactory.create(ConnectionConfig) is called with null. + Contributed by Gary Gregory + +* [HTTPCLIENT-1362] Better error messages for connect timed out and connection refused + exceptions. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1360] separate out DeflateInputStream as an independent class, + so it can be used by others. + Contributed by Karl Wright + +* [HTTPCLIENT-1359] repeated requests using the same context fail if they redirect. + Contributed by James Leigh + +* [HTTPCLIENT-1354] do not quote algorithm parameter in DIGEST auth response. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1351] Added utility method to resolve final location from original request, + target host and a list of redirects. + Contributed by James Leigh + +* [HTTPCLIENT-1344] Userinfo credentials in URI should not default to preemptive BASIC + authentication. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1345] Useinfo credentials ignored in redirect location header. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1294] HttpClient to rewrite host name of the redirect location URI in order + to avoid circular redirect exception due to host name case mismatch. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1264] Add support for multiple levels of browser compatibility + to BrowserCompatSpec and BrowserCompatSpecFactory. Include constructor + argument for IE medium-security compatibility. + Contributed by Karl Wright (kwright at apache.org) + +* [HTTPCLIENT-1349] SSLSocketFactory incorrectly identifies key passed with keystore as + the keystore password. + Contributed by David Graff + +* [HTTPCLIENT-1346] Ensure propagation of SSL handshake exceptions. + Contributed by Pasi Eronen + +* [HTTPCLIENT-1343] SSLSocketFactory optional parameters for supported SSL protocols and cipher + suites. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1238] Contribute Bundle Activator And Central Proxy Configuration. + Contributed by Simone Tripodi + +* [HTTPCLIENT-1299] (regression) cache incorrectly disposes of the underlying cache resource + when storing variant entry. + Contributed by James Leigh + +* [HTTPCLIENT-1342] Redirects with underscore character in the location hostname cause + "java.lang.IllegalArgumentException: Host name may not be null". + Contributed by Oleg Kalnichevski + + + +Release 4.3 BETA1 +------------------- + +This is the first BETA release of HttpClient 4.3. The 4.3 branch enhances HttpClient in several +key areas and includes several notable features and improvements: Support for Java 7 +try-with-resources for resource management (connection release); fluent Builder classes for +HttpEntity, HttpRequest and HttpClient instances, deprecation of preference and configuration API +based on HttpParams interface in favor of constructor injection and plain configuration objects, +reliance on object immutability instead of access synchronization for thread safety. + +This release also includes all fixes from the stable 4.2.x release branch. + + +Changelog +------------------- + +* [HTTPCLIENT-1317] InetAddressUtils should handle IPv6 Addresses with Embedded IPv4 Addresses + Contributed Sebastian Bazley . + +* [HTTPCLIENT-1320] Leverage javax.net.ssl.SSLSocketFactory#getDefault() to initialize SSL context + based on system defaults instead of using an internal custom routine. + Contributed by Abe Backus and Oleg Kalnichevski + +* [HTTPCLIENT-1316] Certificate verification rejects IPv6 addresses which are not String-equal. + Contributed Sebastian Bazley . + +* [HTTPCLIENT-1307] Future based asynchronous request execution. + Contributed by Jilles van Gurp + +* [HTTPCLIENT-1313] Fixed IllegalStateException in deprecated ThreadSafeClientConnManager. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1298] Add AsynchronousValidator in HttpClientBuilder's list of closeable objects. + Contributed by Martin Meinhold + + + +Release 4.3 ALPHA1 +------------------- + +This is the first ALPHA release of HttpClient 4.3. The 4.3 branch enhances HttpClient in several +key areas and includes several notable features and improvements: Support for Java 7 +try-with-resources for resource management (connection release); fluent Builder classes for +HttpEntity, HttpRequest and HttpClient instances, deprecation of preference and configuration API +based on HttpParams interface in favor of constructor injection and plain configuration objects, +reliance on object immutability instead of access synchronization for thread safety. + +We are kindly asking all upstream projects to review API changes and help us improve +the APIs by providing feedback and sharing ideas on dev@hc.apache.org. + +This release also includes all fixes from the stable 4.2.x release branch. + +Please note that new features included in this release are still considered experimental and +their API may change in the future 4.3 alpha and beta releases. + + +Changelog +------------------- + +* [HTTPCLIENT-1250] Allow query string to be ignored when determining cacheability for + HTTP 1.0 responses. + Contributed by Don Brown + +* [HTTPCLIENT-1261] Make SystemDefaultHttpClient honor http.agent system property. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-900] Don't enforce URI syntax for messages with an explicit target host. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1190] HttpClient cache does not support "Vary: Cookie" + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1259] Calling #abort() on requests executed with DecompressingHttpClient has no + effect. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1253] URIBuilder setParameter() method could exceed the HTTP header size. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1216] Added method to force clean thread-local used by DateUtils. + Contributed by Oleg Kalnichevski + + +Release 4.2.3 +------------------- + +HttpClient 4.2.3 (GA) is a bug fix release that addresses a number of issues reported since +release 4.2.2. This release also includes a thoroughly reworked NTLM authentication engine +which should result in a better compatibility with the newest Microsoft products. + +Users of HttpClient 4.x are advised to upgrade. + +Changelog +------------------- + +* [HTTPCLIENT-1296] NPE gets thrown if you combine a default host with a virtual host + that has a -1 value for the port. + Contributed by Karl Wright + +* [HTTPCLIENT-1290] 304 cached response never reused with If-modified-since conditional + requests. + Contributed by Francois-Xavier Bonnet + +* [HTTPCLIENT-1291] Absolute request URIs without an explicitly specified path are rewritten + to have "/" path). + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1286] Request URI rewriting is inconsistent - URI fragments are not removed + from absolute request URIs. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1284] HttpClient incorrectly generates Host header when physical connection + route differs from the host name specified in the request URI. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1293] Kerberos and SPNego auth schemes use incorrect authorization header name + when authenticating with a proxy. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1283] NTLM needs to use Locale-independent form of + toUpperCase(). + Contributed by Karl Wright + +* [HTTPCLIENT-1279] Target host responding with status 407 (proxy authentication required) + causes an NPE. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1281] GzipDecompressingEntity does not release InputStream when an IOException + occurs while reading the Gzip header + Contributed by Francois-Xavier Bonnet + +* [HTTPCLIENT-1277] Caching client sends a 304 to an unconditional request. + Contributed by Francois-Xavier Bonnet + +* [HTTPCLIENT-1278] Update NTLM documentation. + Contributed by Karl Wright + +* SystemDefaultHttpClient misinterprets 'http.keepAlive' default value and disables + connection persistence if the system property is not set. This causes connection + based authentication schemes such as NTLM to fail. + +* [HTTPCLIENT-1276] cache update on a 304 response causes NPE. + Contributed by Francois-Xavier Bonnet + +* [HTTPCLIENT-1273] DecompressingHttpClient does not automatically consume response + content in case of an i/o, HTTP or runtime exception thrown by the decompressing + protocol interceptor leading to a potential connection leak. + Contributed by Oleg Kalnichevski + +* [HTTPCLIENT-1268] NTLM engine refactor fix, to correct a buffer overrun, and get NTLMv2 + flags right. + Contributed by Karl Wright + +* [HTTPCLIENT-1266] NTLM engine refactoring and compatibility improvements. + Contributed by Karl Wright + +* [HTTPCLIENT-1263] BrowserCompatSpec: attribute values containing spaces or special characters + should be enclosed with quotes marks for version 1 cookies. + Contributed by Francois-Xavier Bonnet + +* [HTTPCLIENT-1263] CachingHttpClient fails to release connections back to the connection + manager for some type of HTTP response messages when used together with DecompressingHttpClient. + Contributed by Francois-Xavier Bonnet + +* [HTTPCLIENT-1258] Fixed NullPointerException in NTLMEngineImpl caused by null NT domain + attribute. + Contributed by Oleg Kalnichevski