-
Notifications
You must be signed in to change notification settings - Fork 71
Seaside320Changelog
Johan Brichau edited this page Mar 31, 2016
·
40 revisions
- new session cache with better performance and scalability
- Supports both idle and absolute timeouts as recommended by OWASP Session Management
- access by key is fast (O(1) average case O(n) worst case)
- reaping expired sessions is proportional (O(n)) to the number of expired session and independent of the total number of sessions (O(1))
- creating a new session independent of the total number of sessions
- custom implementation for GemStone/S based on
RcKeyValueDictionary
- WAUrl parsing and serialization is context dependent
- In Pharo the web based class browser will use Nautilus if available (Pharo 2+).
- Ajax file uploads (jQuery serialization callback)
- dedicated cache implementation
- configurations hold on to bindings instead of classes
- no longer uses a fork of Seaside-Core, Seaside-Session and Seaside-Environment
- #615: Depricate WARenderContext >> #callbackAt:
- #706: Remove WADivTag
- #763: Add support for srcset on img and source tag
- #777: Make TestCase >> #fail SLime rule
- #778: remove JSON libraries
- #790: WAUrl parsing and serialization needs to be context dependent
- #791: Replace Set-Cookie2 with RFC 6265
- #796: Add support for Forwarded header
- #807: MNU RBArgumentNode>>key with parameterized Seaside 3.1 REST Method
- #809: Use HTML 5 meta tag for charset
- #810: Provide a dedicated security package
- #815: fix WABrowser in Pharo 4
- #816: WAHtmlAttributes >> #addClass: allocates too much
- #819: JQAjax does not have a json: callback
- #812: Input elements should not generate a class by default
- #820: Configurations should not hold on to classes
- #822: Drop clever CDATA trick
- #824: GRPackage>>#resolveWith: contains non-portable usage of String>>indexOfSubCollection:startingAt:
- #825: Remove Methods deprecated in 3.1
- #827: GRPlatform >> #deprecationExceptionSet should use ExceptionSet
- #828: replace TimeStamp with DateAndTime
- #830: (ENH) Javascript Condition with else decoration (JSConditionElse)
- #833: WARequest>>destroy doesn't set the body' to nil
- #837: No able to view / compile Pharo 3 / Pharo 4 code in Seaside
- #838: Usage of class-side #initialize is not portable
- #842: add the ability to send an arbitrary string back along with the passenger id
- #843: add #basicStop to WATestServerAdapter
- #846: Allow the usage of IE9 for HTML5Shiv support
- #851: WASession >> #unregister does signal an error
- #863: Scriptaculous scripts are still strings when the should be script objects
- the type of an input element is no longer in its class
- you have to change the CSS selector of the input type eg
.checkbox
to[type='checkbox']
- you have to change the CSS selector of the input type eg
- inline JavaScript in XHTML in XML mode will no longer work
- we no longer ship JavaScript libraries for generating and parsing JSON
- server adapter authors should send
#rfc6265String
instead of #oldNetscapeString
, #rfc2109String
or #rfc2965String
, there is a Slime transformation rule available - Cookie2 support is gone (only Opera ever supported it but doesn't anymore)
-
WADivTag
has been removed,WAGenericTag
is used instead, if you have class extensions there you need to move them toWAGenericTag
- parsing an URL with a non-numeric port (eg.
http://www.seaside.st:8x/
) will now signal aWAInvalidUrlSyntaxError
- the following deprecated methods have been removed
WARequestCookie class >> #fromString:
WAUrl >> #pathString
WAPopupAnchorTag >> #name
WAPopupAnchorTag >> #name:
- The metacello configuration
ConfigurationOfSeaside3
's default group now loads Core,Email,JSON,Javascript,JQuery and JQueryUI groups while it previously only loaded the Core group. This enhances discoverability for newcomers and existing users can still configure the load to only load the groups they need. - We store class bindings instead of classes in configuration values. Therefore all configurations have to be registered again, see #820.
- the default server manager needs to be reset with:
WAServerManager instVarNamed: 'default' put: nil
. You need to stop the servers first and register them afterwards again. You need to do this only if you upgrade an existing image. - Dialects with namespaces (eg. VM) need to implement
GRPlatform >> #bindingOf:
, an example implementation can be found in the comments. -
#262: Creating a new session is O(n)
-
WASession >> #buildCache
has been renamed to#createDocumentHandlerCache
and returns a new cache instance -
WASession >> #createCache
has been renamed to#createContinuationCache
and returns a new cache instance -
WASession >> #cache
has been renamed to#documentHandlers
-
WARegistry >> #keyFor:
has been removed - the session cache is unidirectional and no longer bidirectional
-
Dictionary >> #valuesCollect:
has been removed
-
- In Seaside 3.0, the argument of
addLoadScript:
,addLoadScriptFirst:
may be a string. As from 3.1 it should always be aJSObject
(sub)instance. This was not clearly documented when 3.1 was released, therefore we repeat this here.
We recommend loading the code into a new image. If that's not possible for you try the following procedure:
WAServerManager default stopAll.
WAServerManager instVarNamed: 'default' put: nil`.
"register your sever adapter"
WAEnvironment reloadApplications
"register your applications again, remove what you don't need"
Changelogs
- (newer changelogs, see https://github.com/SeasideSt/Seaside/releases)
- 3.4.0
- 3.3.0
- 3.2.4
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.11
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 2.8
- 2.7
- Past Releases
Development
Documentation
- Configuration and Preferences
- Embedding Subcomponents
- Maintaining State
- Generating HTML
- CSS and Javascript
- Debugging Seaside Applications
- Links, Forms and Callbacks
- Development Tools
- Call and Answer
- Naming URLs
- Security Features
- Securing Seaside Applications
- Seaside-REST
- Add-On Libraries
- Persistence
- Gettext
- FileLibrary
- The Render Tree
- PDF Generation
- Long-Term Issues
- Ajaxification
- Web Components
- Big Issues
Sprints