1.6.0 to 1.6.1
- #119: Support locking with single node (without node-id) configuration
1.5.1 to 1.6.0
- #118: Add configurable memcached operation timeout (contributed by Erik Swenson)
- #116: Non-sticky sessions: Calling session.invalidate() causes "Found no validity info for session..." logging
- #115: Support membase buckets (membase bucket uris) and SASL (initial contribution by Pradeep Gummi)
- #114: msm-kyro-serializer 1.5.1 pom in maven central includes invalid dependencies
- #113: Backup of a session should take place on the next available node when the next logical node is unavailable.
- #112: No validity info stored for non-sticky sessions and memcachedNodes config without node-part (e.g. memcachedNodes="localhost:11211")
- #111: Concurrent requests for a non-sticky session on the same tomcat may interfere
- #109: Add flexjson serializer strategy (contribution by Sandeep More)
- #107: Add custom kryo serializer for GrailsFlashScope
1.5.0 to 1.5.1
- #106: Session not updated in memcached when only a session attribute was removed
- #105: Make memcached node optional for single-node setup, so that the sessionId is left unchanged in this case (e.g. memcachedNodes="localhost:11211"). If instead memcachedNodes="n1:localhost:11211" is used the nodeId is still appended to the sessionId.
1.4.1 to 1.5.0
- #101: Form based authentication does not work with non-sticky sessions
- #99: Add attribute filter to control which session attributes are serialized to memcached (new configuration attribute sessionAttributeFilter accepting a regular expression, e.g. sessionAttributeFilter="^(userName|sessionHistory)$"). (thanx at Rainer Jung for this contribution!)
- #98: Non-sticky sessions: Session meta data stored asynchronously with sessionBackupAsync="false"
- #97: Add support for jsf2/mojarra kryo serialization (added custom serializer for mojarras LRUMap, this can be added as customConverter: de.javakaffee.web.msm.serializer.kryo.FacesLRUMapRegistration)
- #67: Make msm available in maven repository (available in maven central now under groupId "de.javakaffee.msm"). So that both tomcat6 and tomcat7 versions can be pushed in one step to maven central there was a restructuring needed, so that now there's a core module (not specific to a tomcat version) and the tomcat6 and tomcat7 modules. Therefore for installation two msm jars have to be put in $CATALINA_HOME/lib: memcached-session-manager-${version}.jar and memcached-session-manager-tc7-${version}.jar (or memcached-session-manager-tc6-${version}.jar.
1.4.0 to 1.4.1
- #96: Tests fail occasionally on windows (only changes to unit-test libs)
- #95: Secondary session backup is tried to be removed with non-sticky sessions and only a single memcached
- #94: Don't remove unserializable attributes from active sessions (with default/java serialization)
- #93: Redundant retrieval of session from memcached after TC failover (with jvmRoute + securityConstraint/Valve)
- #92: Incomplete change of session ID after Tomcat failover (with jvmRoute + securityConstraint/Valve)
- #91: Windows only: memcached failover can break memcached client / connection
- #90: When the jvmRoute contains a dash (-) sessions are not saved in memcached (tomcat7 only)
- #89: NPE in SessionTrackerValve using log level DEBUG
- #88: Support session-timeout of 0 or less (no session expiration)
- #87: Tomcat doesn't start in TestUtils on Windows - backslash escape needed
1.4.0-RC3 to 1.4.0
- #86: Don't load a non-sticky session from memcached when not accessed from request
- #85: Don't perform additional tasks for non-sticky sessions with invalid sessionId
- #84: Improve debug logging for non-sticky sessions and memcached failover
- #83: Memcached node failover does not work for non-sticky sessions
- #76: Nonsticky-session support: Check/implement listener notification on swapOut of sessions at the end of the request
1.4.0-RC2 to 1.4.0-RC3
- #82: tomcat7: Manager not properly reinitialized on context reload
- #80: Webapp context reload causes ClassCastException with sticky sessions
- #78: Add JMX performance stats for non-sticky session operations
1.4.0-RC1 to 1.4.0-RC2
- #81: Background expiration update for session that was loaded from memcached fails
- #79: In non-sticky sessions mode with only a single memcached the backup is done in the primary node
1.3.6 to 1.4.0-RC1
Announcement of release 1.4.0-RC1
- #77: Make memcached-session-manager work with Tomcat 7.x (thanx at Jorge Carabias for initial contribution)
- #70: Improve support for nonsticky sessions
- #71: Session locking for non-sticky sessions: all, auto detection of readonly requests, uri-pattern based
- #72: Add storage of non-sticky sessions in another/secondary memcached node, handle memcached failover for non-sticky sessions
- #74: Touching unmodified/not-updated sessions must be solved differently
- #68: Change of sessionId on login with BASIC auth must be handled correctly
- #66: Make SessionTrackerValve.setNewSessionCookie more robust (handle different possible cases)
- #65: Session cookie name is hardcoded to JSESSIONID
- #62: Support jvmRoutes containing dashes (-) (thanx at Paul G. Weiss for patches)
- #60: Add possibility to disable msm at runtime via JMX (thanx at Paul G. Weiss for patches)
1.3.0 to 1.3.6
Announcement of release 1.3.6
- Added new serialization strategy based on kryo with a really good performance: SerializationStrategyBenchmark (usage and configuration described in SetupAndConfiguration).
- A new DummyMemcachedBackupSessionManager for permanent failover simulation during development, to see that session deserialization is working (more is described on SetupAndConfiguration with the className attribute).
- Removed msm-javolution-serializer-cglib and msm-javolution-serializer-jodatime, both custom converters are now included in the msm-javolution-serializer jar.
- Added custom converter for serialization/deserialization of hibernate persistent collections (for javolution and kryo), details on SetupAndConfiguration.
1.2.0 to 1.3.0
Announcement of release 1.3.0
Change:
- #53: By default, perform session backup asynchronously (change default for sessionBackupAsync from false to true).
Improvements:
- #50: Allow configuration of memcached protocol to use
- #51: Session serialization should be done asynchronously when sessionBackupAsync=true
- #52: Add backupThreadCount attribute to specify number of threads to use for async session backup
- #54: Support session cookie 'HttpOnly' flag when changing session id due to memcached failover (for tomcat >= 6.0.19 only)
- #56: javolution-serializer: support public Collections/Maps providing only a constructor taking an int (size)
- #57: javolution-serializer: Provide more efficient serialization for StringBuffer and StringBuilder
- #59: Add support for serialization/deserialization of cglib proxies to javolution-serializer
Fixes:
- #38: Notify HttpSessionListeners and HttpSessionActivationListeners when loading a session from memcached
- #55: Wicket's MiniMap cannot be deserialized with javolution serializer
- #58: Change jvmRoute on tomcat failover (when a session is served by another tomcat)
1.1.1 to 1.2.0
Announcement of release 1.2.0
Improvements:
- There's a new configuration attribute "customConverter" that provides the possibility to specify custom converter. This is only supported by the javoluation serializer (not possible for java and xstream serialization)
- #32: msm-javolution-serializer should provide more efficient serialization of joda DateTime (this is available as msm-javolution-serializer-jodatime, required the "customConverter" feature)
- #36: Store modified sessions only
- #42: createSession might take a possibly provided sessionId into account
- #43: Calculate statistics for serialization time / backup time / load time / skips etc (see 2 for more)
- #44: Support comma-separated list of nodes
- #46: Support reconfiguration of memcached nodes at runtime via jmx
Fixes:
- #33: msm-javolution-serializer: ReflectionBinding does not honor XMLSerializable interface
- #34: msm-javolution-serializer: java.util.Currency gets deserialized with ReflectionFormat
- #35: Use same logging system as Tomcat
- #40: webapp sets cookie for every page if memcached process is missing
- #41: createSession should take maxActiveSessions into account
- #47: Cookie set on memcached failure doesn't honor request's secure property
- #48: Memcached failover / session relocation not supported when cookies are disabled
- #49: Sessions not associated with a memcached node don't get associated as soon as a memcached is available
1.1 to 1.1.1 (only msm-javolution-serializer)
This refers to the maintenance release 1.1.1 for the msm-javolution-serializer with the following fixed bugs:
- #27: Serialization of AtomicInteger fails for msm-javolution-serializer
- #28: msm-javolution-serializer should support serialization of java.util.Collections$EmptyList
- #30: msm-javolution-serializer should support serialization of java.util.Collections$UnmodifiableMap
- #31: msm-javolution-serializer should be able to load classes from webapp context
1.0 to 1.1
1.0