Skip to content

Releases: phax/ph-commons

ph-commons 9.3.5

05 Aug 03:47
Compare
Choose a tag to compare
  • Updated to BouncyCastle 1.62
  • Added new EURLProtocol entries CID and MID from RFC 2392
  • Minor speed ups in several places
  • Added overload of PDTXMLConverter.getXMLCalendarDate with timezone offset in minutes
  • Added new JsonReader.Builer overloads
  • LocaleHelper.getValidCountryCode now convert ISO 3166 Alpha 3 codes to ALpha 2 codes where applicable
  • Made XML serialization settings on the XML declaration more fine grained

ph-commons 9.3.4

29 May 05:26
Compare
Choose a tag to compare
  • Added new overloads for JsonReader.Builder.setSource
  • Catching exception in VerySecureRandom initialization - setSeed may throw an Exception
  • Deprecated class RandomHelper - causes more problems than it solves
  • Added new method CertificateHelper.convertStringToCertficateOrNull
  • Added new method CertificateHelper.convertByteArrayToCertficateDirect
  • Added complete list of HTTP response codes constants to CHttp
  • Added new method Base64OutputStream.setNewLineBytes
  • Removed methods Base64.(encode|decode)Object for security reasons
  • Added new option Base64.DO_NEWLINE_CRLF to use \r\n as newline separator instead of \n

ph-commons 9.3.3

07 May 09:07
Compare
Choose a tag to compare
  • Added ICommonsIterable methods findFirstIndex and findLastIndex
  • Added support for Java 12
  • The default XML persistence for configuration files was changed. No more "class" attribute and no nested "value" element needed. The old layout can still be read, but only the new layout is written.
  • The class JsonReader now has an explicit JsonReader.Builder class to simplify the usage
  • New class SettingsPersistenceJson to be able to read and write settings in JSON format

ph-commons 9.3.2

28 Mar 21:43
Compare
Choose a tag to compare
  • Logging a warning in VerySecureRandom if initial seeding takes more than 500 milliseconds
  • If the system property ph.disable-securerandom with the value of true is present, the usage of SecureRandom in class RandomHelper is disabled by default. Respective logging was added.
  • The system property ph.securerandom-reseed-interval with a numeric value ≥ 0 can be used to set the default "re-seed interval" for class VerySecureRandom
  • VerySecureRandom uses NativePRNGNonBlocking as the initial SecureRandom for faster Linux initialization.

ph-commons 9.3.1

14 Mar 10:10
Compare
Choose a tag to compare
  • Made IJsonWriterSettings serializable
  • Updated to BouncyCastle 1.61
  • null values in settings can be serialized now
  • HttpHeaderMap methods forEachSingleHeader and forEachHeaderLine now use the unified values

ph-commons 9.3.0

14 Mar 10:06
Compare
Choose a tag to compare
  • Restored the Automatic-Module-Name of com.helger.scopes
  • Moved method exceptionCallbacks to base class AbstractJAXBBuilder
  • Exception handler in GenericJAXBMarshaller now based on ´CallbackList` - incompatible change
  • Fixed the conversion from String to Integer, Long and Short so that null is returned on error (therefore throwing a TypeConverterException)
  • IGetter*Trait getAs... methods now return null on error instead of throwing a TypeConverterException

ph-commons 9.2.1

23 Jan 20:55
Compare
Choose a tag to compare
  • Improved API of JsonParseException
  • Added additional default MicroTypeConverter registrations (File, Path, URL and URI)
  • Added special implementation of IHasInputStream for NonBlockingByteArrayOutputStream
  • Added enum entry EXMLSerializeXMLDeclaration.EMIT_NO_NEWLINE
  • Extended internal API of AbstractMapBasedWALDAO to allow for not invoking the callbacks
  • Added method ConfigFileBuilder.addPathFromEnvVar to get the configuration file path from an environment variable
  • Added new keystore type BCFKS - see issue #13
  • Added new constructor for MapEntry to take Map.Entry
  • Added new default methods to classes IHasDimension* (isLandscape, isPortrait and isQuadratic)
  • MimeTypeContent is now serializable
  • The OSGI export for submodule ph-scopes was corrected - see issue #14
  • Added static factory methods for ByteArrayWrapper

ph-commons 9.2.0

21 Nov 18:19
Compare
Choose a tag to compare
  • Undo deprecations of ValueEnforcer short and float methods.
  • Simplified the IMultilingualText interface and implementations (backwards incompatible)
  • Removed all deprecated, unused methods
  • ICommonsIterable is no longer Serializable. Only ICommonsCollection is serializable.
  • IHasDisplayText is no longer Serializable.
  • IDisplayTextProvider is no longer Serializable.
  • IHasText is no longer Serializable.
  • Changed return type of SystemProperties.setPropertyValue() to EChange
  • JAXBDocumentType takes List<ClassPathResource> instead of List<String> to avoid ClassLoader issues
  • Changed PBCProvider initialization to log a warning instead of throwing an exception
  • Added StringHelper methods getQuoted and appendQuoted
  • Improved Java 10/Java 11 support
  • Moved CloneHelper.getClonedJAXBElement to new class JAXBHelper in ph-jaxb subproject (Java 11 issue)
  • Moved class WSTestHelper to subproject ph-wsclient (Java 11 issue)
  • First version to compile with OracleJDK 11 and OpenJDK 11
  • Added methods in PDTFactory to remove microseconds and nanoseconds from (Zoned|Offset|Local)DateTime
  • Added support for silent mode in AbstractDAO
  • Changed DOMReader.readXMLDOM to not throw an Exception. Provide a suitable ErrorHandler instead.
  • WrappedCollectingSAXErrorHandler is now derived from CollectingSAXErrorHandler

ph-commons 9.1.8

24 Oct 11:13
Compare
Choose a tag to compare
  • Added special support for properties java.runtime.version and java.runtime.name in class SystemProperties
  • Class JavaVersionHelper now supports AdoptOpenJDK versions
  • HttpHeaderMap stores the value case sensitive internally and compares case sensitive instead (issue #11)
  • Added PDTConfig.getUTCTimeZone ()
  • Fixed a conversion error from GregorianCalendar to XMLGregorianCalendar if only the date part is used (issue #12)
  • Added TimeZone related methods in PDTFactory
  • Added method IHasInputStream.getBufferedInputStream(), IHasInputStreamAndReader.getBufferedReader() and IHasReader.getBufferedReader()
  • Added method IHasOutputStream.getBufferedOutputStream(), IHasOutputStreamAndWriter.getBufferedWriter() and IHasWriter.getBufferedWriter()
  • Opened JsonReader API to add the possibility to pass in an IJsonParserCustomizeCallback instance
  • Added IMultilingualText.texts ()
  • Fixed some SpotBugs errors
  • Added IJAXBWriter.getAsInputStream(...)
  • Added new marker interface IExplicitlyCloneable

ph-commons 9.1.7

15 Oct 19:46
Compare
Choose a tag to compare
  • Added new class IdentityByteArrayCodec
  • Added new classes MacInputStream and MacOutputStream
  • Deprecated some JSON APIs with byte, short and float
  • Overloaded WrappedOutputStream.write (byte[],int,int) for quicker pass-through. Please ensure that all derived classes also overload this method.
  • JSONValue handling for long values in the int range was changed to store int internally. This improves testability independent of the value range.
  • Added new StringHelper.contains(Any|No|Only) methods for CharSequence and String objects