Aida 6.6 Release Notes
6.6 release
--Avg13
- Preparing for a release, syncing with Squeak/Pharo
 
- AIDASite class version '6.6'
 
- Bootstrap3Library upgraded to final 3.0.0
 
- patch: WebTabs now Bootstrap compatible
 
- patch: WebSessionManager addSession does not add secureId anymore, to prevent duplicate ids. Temporary!
 
- AIDASite internalIPs (settings) for extending WebSesion isInternalIP to cover also external NAT IPs of internal networks
 
- DefaultWebStyle htmlHeaderElements adds now an url to aida website in page header
 
- Bootstrap2Library renamed to, and new Bootstrap3Library for v3 added
 
--Jul13
- patch: WebSession setRandomIds random id 10x bigger, up to 10 bilions
 
- patch: WebSession logout does not return to last page if this is login, to avoid confusing users
 
- WebJSONObject introduced to replace plain Dictionary and therefore preserve order of attributes in JSON
 
- JSON or XMLPresenter is called also if Accept: text/json or xml is in request header, besides .json and .xml URL extensions
 
--Jun13
--May13
- patch: WebPage ensure title in header patch
 
- patch: WebAutocomplete2Field addSetupScript deals now with mouse selects too
 
- patch: WebMethodLibImporter getLibraryFromFile copies correctly directories
 
- XEditableLibrary for inline editing introduced
 
- WebAutocomplete2Field setupScript - HTML labeling moved directly to jQueryLibrary, see class comment for instructions!
 
- patch: EMailMessenger - ObjectMemory versionId patch by Niall Ross
 
- JQueryLibrary upgrade to jQuery 1.9.1, jQueryUI 1.10.3, no Editable anymore!
 
- BootstrapLibrary upgraded to 2.3.1
 
- AmberLibrary moved to special AidaAmber package under AIDA/Addons
 
- WebButton now as tag button, not tag input type=submit anymore
 
- WebSession 
 
- isInternal,  if from internal  IP (192.168.* or 10.* )
 
- isInternalGuest, isPublicGuest
 
- lastIP
 
 
- AIDASite settings-logging method category introduced
 
- AIDASite answerToGetOrPosT: streaming of HTML temporary switched off
 
- WebSchedduler isRunning, renamed from isLoopRunning
 
- patch: WebEvent pageVew - #includesSubstring replaced for portabiltiy
 
- patch: WebDemo onChangeDo:on:app:
 
--Apr13
- WebPage addGeolocationScript added
 
- WebGeolocation locationPoint added
 
- patch: WebSession setGeolocationFrom:
 
- WebGeolocation class distanceBetween:and: added
 
- Number aidaArcTan: from Squeak added, for atan2(x, y) function from JavaScript
 
- DelimitedFile reads .csv always binary to avoid encoding problems
 
--Mar13
- #aidaIsRespondingNewerStreamed added to explicitly prohibit streaming
 
- AIDASite behindProxy settings added, if site runs behind say Apache or load balancer
 
- URLResolver urlFromHalfUrl: doesn't add ports if site is behind proxy
 
- patch: WebStyle jsEvents - xhr not global JS variable anymore!
 
- patch: WebSession respondToElementDirectRequest: finds now a context from a session apps
 
- patch: WebCounter: addDays: instead of + 
 
- patch: WebAutocomplete2Field choicesAsJsonForEntry: handles unicode chars too
 
--Feb13
- DailyValues current added - to return a current value, that is value on today's date
 
- WebElement title: handles now Slovene csz with ^ correctly
 
- charset UTF8 back in page header (WebPage initPageHeaderLinks)
 
- WebStyle filterCssClass: to set a CSS class of filter row
 
- AIDASite styleClass: sets also style class in method resources route in router
 
- WebRouter setMethodRouteStyle: added
 
- compression for main HTML page off because of unknown memory problems regarding external GZip interface on VW (fixed memory...)
 
- SpSocket errors ignored in AIDASite answer:toGetoOrPost:
 
- CSS sprites introduced, see WebSprite, WebMethodResource, WebImage    
- WebSprite, WebSpriteEntry, WebSpriteException introduced
 
- WebImage spriteCss, ...
 
- WebStyle class Sprite clasvar, 
 
- WebStyle resourceFor searches for method image here, no more in URLResolver
 
 
- WebScript async, defer, for external scripts, not yet finished!
 
- patch: AIDASite answer:toGetOrPost:on: don't stream WebSocket upgrade request
 
- WebMethodImage cache removed, entire class moved under Aida-Imaging
 
- Optimizations on HTTP level: gzip compression, streaming everything to send the first byte to the client as soon as possible    
- AIDASite answer:toGetOrPost:on: stream and gzip compress response
 
- AIDASite addResponseHeaders sets charset=UTF8 into content-type
 
- WebMethodResource, WebMethodLibrary class streamHtmlTo: gzip compress text resources like CSS, JS
 
- UTF8 encoding moved to from the page to the response header
 
- WebMethodResource expiresTimestamp a week now, up from 24 hours before
 
 
- AIDASite answerTo: streaming of regular responses as well to optimize streaming HTML by starting as soon as possible.
 
- WebPage streamHtmlTo:for:on:   flush to stream after headers were sent to allow client start fetching css and js files from header ASAP
 
--Jan13
- Person companyOwner added
 
- patch: use more portable SpDate instead of Date in WebCounter, WebIndex, WebDemoApp
 
- patch: WebSession respondToElementDirectRequest: returns HTTPException notFound in case of error
 
- patch: WebStatistics isLocalUrl: avoiding double **
 
--Dec12
- WebAutocomplete2Field afterPostUpdate deprecated, will raise such exception
 
MIGRATION after load:
AIDASite allInstances do: [:each | each securityManager removeAdminAccess]
- admin access is not set by default to all Apps anymore but is granted immediately if user is in admin group and escalated to admin (WebApplication vew,updateAllowed, WebLink)
 
- WebSecurityManager removeAdminAccess while initAdminAccess removed, not needed anymore 
 
- WebApplication reportSecurityViolation to Transcript
 
- WebSession adminAllowed removed!
 
- patch: WebApplication, WebLink view and update always allowed only if user hasAdminRights (is in admin group AND is escalated to admin!)
 
--Nov12
- patch: WebRouter resourceFor:  if URL is intentionally wrongly UTF8 encoded
 
- Scriptaculous and jQueryLibrary cross check if other library is loaded and raises exception with confict warning
 
- WebMethodLibrary isPresent:onPage added
 
- WebStyle accessDeniedText added
 
- WebElement isUpdatable added, to see if it is Ajax updatable or not
 
- WebElement onClickUpdate: and similar now explicitly check if element is updatable
 
- WebElement newDiv - tag is now enforced if element is to be updatable
 
- WebStyle yesText, notText for i8n dialog buttons etc.
 
- Joomla* stuff moved out of Aida-Styles to new package AidaJoomla
 
- DefaultWebStyle - version number shown in header
 
- patch: WebAutocomplete2Field choicesAsJsonForEntry: converts to UTF8 first
 
- patch: WebElement isUpdating more exactly finds if this element is updating and not some superelement which part it is
 
- patch: WebWindow webPage added, finds page through a context for popups
 
- patch: FileProxy streamHtml:.. ingores network exceptions while streaming
 
- WebStyle js12Events - more exact websocket detection 
 
- patch: WebSecurityManager initDemoAccessRights
 
- patch WebMethodResource, WebMethodLibrary streamHtml:.. ignore network related exceptions
 
 
6.5 interim release
--Oct12
- Twitter BootstrapLibrary upgraded
 
- Realtime demo added in WebDemoApp
 
- WebApplication enableRealtime added, to enable easier realtime on a page of current view
 
MIGRATION!
   "if you need hourly snapshot, evaluate this:"
   AIDASite allInstances do: [:each | each hourlySnapshotEnabled: true]
- AIDASite new settings #hourlySnapshotEnabled, false by default
 
- AidaSite class imageSnapshot tests if at least one site has hourly snapshot enabled.
 
- patch: WebDemo defaultIntroductioText links, thanks to Sebastian Sastre
 
- patch: WebEventHandler addCloseWindow updates with argument too
 
- patch: WebForElement existScriptForEvent check consistently elsewhere
 
- patch: WebElement update preserves parent link too
 
- AIDASite defaultHomeDirectory is now './static' in a directory from where the image started
 
- patch: WebSession respondToElementDirectRequest - more robust context finding
 
- popups can now be called with one argument:       
- WebElement creationArgument in #other, see laso seeCreationMethodAndObj
 
- WebElementHandler addPopup:onStub:
 
 
- WebElement isUpdating added to check for instance in popups if there is really a popup or just initial creation of element
 
- WebButton noSubmit added, to prevent classical submit with page reload and use button for instance just for clicks
 
- WebAutocomplete2Field (jQuery based) used everywhere now
 
- WebFormElement - no more 100ms delay sending submit event
 
- patch: WebEvent reconnectOn: absent app context doesn't raise exception anymore
 
- WebLink class nilLinkText: added, useful for instance in WebGrid addBlocks
 
- WebElement onClickCloseAndDo: and similar methods removed.
 
- patch: WebElement on: event methods now always checks to prevent duplicate event scripts
 
- patch: WebElement add: reports a descriptive error now
 
- SwazooSocketConnection, SwazooWebSocket extensions to send already UTF8 encoded strings
 
- WebRealtimeConnection       
- sendMessagesFromQueue calls sendUtf8Text: to send already encoded stuff
 
- respondToWebSocketMessage: converts back to UTF8 first. This is temporary!
 
 
- patch: WebElement site finds an AIDASite more robustly
 
- patch: WebPage disableRealtime called immediately after streaming phase
 
--Sep12
- WebSockets active again after Swazoo was upgraded to final WebSockets RFC
 
- AIDASite webSocketsEnabled for site-wide websockets
 
- WebPage enableRealtime for per-page websockets
 
- patch: WebRealtimeHandler queue cleanup improved
 
- patch WebRealtimeConnection page reload command now works
 
- WebGrid noPageNumbers for pagination without links on bottom of the grid and show just number of rows.
 
- patch: WebSession respondToElementDirectRequest: searches for a right context among allInstances if not found in lastApp
 
- patch: FileProxy streamFileToResponse: ignores SpSocket error to ensure file closing and avoid sharing violations
 
- WebPage redirectTo:view:parameter:value: added
 
- patch: WebSession respondToElementDirectRequest better contex parsing
 
- WebAutocomplete2Field (jQuery) addSetupScript adds change and select events
 
- WebApplication createdTimestamp set, for debugging purposes
 
- DefaultWebStyle css23Inputs gray out disabled buttons
 
- patch: WebPage ensureTitleInHeader - too late in streaming phase
 
- patch: WebMethodLibrary ensure:onPage: more exact check
 
- WebPage       
- addRefreshAfterNighltyCleanup to preserve Ajax functionality even after nightly releasing of application state
 
- #clear added with initHeaders to avoid accumulation of headers over time
 
 
- WebSession       
- last 50 requests are logged
 
- patch: removeIfNewGuest more exactly conclude when to remove session
 
 
- WebSessionManager       
- findOnCreateSession in critical section, refactored to be more clear
 
 
- WebInputField autocomplete attribute added
 
- WebAdminApp viewLogin avoids autocomplete in username field for better privacy
 
6.7 Release notes
Continue to older 6.5 Release notes
- patch: WebElement isUpdating more exactly finds if this element is updating and not some superelement which part it is
- patch: WebWindow webPage added, finds page through a context for popups
- patch: FileProxy streamHtml:.. ingores network exceptions while streaming