Skip to content

Releases: revel/revel

Revel v1.1.0

12 Apr 07:00
Compare
Choose a tag to compare

[revel/revel]

  • bc0e27f Merge pull request #1552 from revel/1542_recursive_call
  • d202b93 Merge pull request #1448 from golddranks/master
  • 859e5b4 Merge pull request #1511 from jiro4989/patch-1
  • 90489b1 Merge pull request #1523 from KoichiWada/handle-sigterm
  • 347610c Merge branch 'develop' into handle-sigterm
  • 942bd2e Merge pull request #1525 from mikyk10/feature/adding-mime-compress
  • 2cb950f Merge pull request #1543 from dhiemaz/fixing-typos
  • aed0d1e Merge pull request #1550 from revel/bugfix/readme-install
  • bc89379 Fixed log recursive call There was a recusive loop in the logger, this fixes it closes #1542
  • aa8a94d Merge pull request #1546 from braineet/master
  • 741d2c8 Corrects install command for new version of go
  • 65db3c0 Merge pull request #1549 from revel/bugfix/session-uuid
  • 624f341 Merge branch 'develop' into bugfix/session-uuid
  • 5e99db8 Refactors session uuid to use google's package
  • 30f3424 Correction redis import
  • f934412 fixing typos
  • f261091 Added a MIME type for compressableMimes
  • 9907376 Handle SIGTERM for graceful shutdown.
  • 413dda3 Merge pull request #1518 from ptman/lint
  • 45a4413 More lint fixes and dead code removal
  • 3799c55 Merge pull request #1514 from ptman/lint
  • 655927a Removed go 1.12 added go 1.15
  • 060e640 Fix misspellings and some lint errors
  • 921e1b4 Fix URL (http -> https)
  • e12cd0e develop v1.1.0-dev
  • a29f37c Fix a bug when binding to pointer

[revel/cmd]

  • 86b4670 Update README.md
  • bc376fb Merge pull request #211 from lujiacn/develop
  • 5c8ac53 Merge branch 'develop' into develop
  • c674084 Merge pull request #201 from ptman/lint
  • cfe1d97 Merge branch 'develop' into lint
  • 7f9f658 Merge pull request #209 from glaslos/patch-1
  • 126d20c Merge pull request #210 from revel/build_process_update
  • 111264c updated go.mod
  • 4087c49 updated golang.org/x/tools, to avoid internal error: package xxx without types was imported from ...
  • 3602eb4 Merge branch 'develop' into patch-1
  • 192fc66 Merge pull request #200 from julidau/develop
  • 5689f86 Merge pull request #204 from shinypb/master
  • 6dba0c3 Fix bad error syntax An wrapped error message in the cmd module was referencing the wrong parameter value to be built closes #1532
  • bb926f3 Added additional pattern to test against Another different missing pacakge error thrown that can be detected and added This error occurs because a package may have been stripped down when originally loaded
  • 3cd5ebb Updated launch scripts
  • 25dc05b Updated Launch code Added output to error stack, so terminal errors are displayed Ficed c.Verbose, it was changed to an array which causes issues launching Removed . notation from doing anything special. This was already replaced with the -p CLI option Added documentaiton on adding the package name Started watcher with force refresh.
  • 0a40a20 Merge pull request #208 from notzippy/build_process_update
  • fcc1319 Fixing type
  • ea5acb7 Updated shared build environments Updated check for errors. Updated go.mod Added .vscode launch
  • 25d6352 Get rid of redundant space in the output of revel new -a
  • ddec572 More linting
  • 7a91d0c interrupt process on windows as well
  • b562bd2 Merge pull request #199 from ptman/lint
  • bf17a71 Merge branch 'develop' into lint
  • 3d924a0 Lint fixes
  • d64c7f1 develop v1.1.0-dev

[revel/config]

  • no changes

[revel/modules]

  • 852ea71 Merge branch 'master' into develop
  • 789324e Merge pull request #105 from ptman/lint
  • 0a9a7f4 Update .travis.yml
  • 8dbd171 Lint fixes
  • 464e072 develop v1.1.0-dev

[revel/cron]

  • 031e64e Merge pull request #5 from ptman/lint
  • 7cfc261 Lint fixes

[revel/examples]

  • e51ed5a Merge pull request #54 from realbucksavage/master
  • c555714 Merge pull request #58 from teitei-tk/update_gorp_link
  • 24ed869 Merge pull request #62 from ptman/lint
  • 5ec13f7 More lint fixes
  • b14432a Merge branch 'develop' into lint
  • a33af07 Merge pull request #59 from obsti8383/master
  • 46ae3a6 Removed go 1.12, added 1.15
  • ced52ae Lint and revel 1.0.0 fixes
  • b245628 revert to old go.sum
  • b6ea1ec upgrade references to revel framework to 1.0.0 in go.mod; fixes compile errors
  • 8353712 update gorp link
  • be755f5 Indented the code.

[revel/revel.github.io]

  • 32d1cd9 Merge branch 'master' into develop
  • e72f206 Merge pull request #197 from revel/update_go_version
  • 1ae75e8 Merge branch 'develop' into update_go_version
  • 75172ea develop v1.1.0-dev

[revel/heroku-buildpack-go-revel]

  • no changes

Revel V1.0.0

12 Jul 06:11
Compare
Choose a tag to compare

[revel/revel]

  • 3d1b0c3 Merge pull request #1497 from lujiacn/master
  • ff2da7e Merge pull request #1498 from aacapella/feature/same-site-cookies
  • c6c4c35 SameSite cookie support
  • bfad570 Update server_adapter_go.go
  • ff43c73 Merge pull request #1491 from notzippy/go-mod
  • dbe9fee Update .travis.yml
  • 38b0687 Fixed paths for test cases
  • 39523bf Enhanced logging
  • 59b8375 Changes to Revel for go.mod support Modified module lookup to handle lookups using the app.conf (before relied on source file) Added extra logging for routes error handling
  • 1053f49 Merge pull request #1443 from lujiacn/develop
  • dcafb9e Merge pull request #1488 from notzippy/go-mod
  • e30c8da Merge pull request #1483 from goevexx/feature/fix-issue-1482
  • 50e70f9 Updated revel to receive paths passed in Updated watcher to use master branch
  • d581f71 change import to fix issue 1482
  • fdc724a Merge pull request #1462 from torden/feature/fix_puretextstrict
  • fe4861c Fix (#1458) the undetected self-closing tags in isPureTextStrict Fix (#1458) the always uses STRICT mode in PureText.IsSatisFied
  • ae3895a added wasm mime-type
  • 45ec814 Merge pull request #1439 from mukeshjeengar/hotfix/log-rotation-fixed
  • d3a76ed log rotation fixed
  • 2eb9067 Merge pull request #1413 from nevkontakte/patch-1
  • ccf085e Merge pull request #1434 from dmjones/fix-1433
  • 34e886a Don't invoke action when Before returns value
  • 5b70626 Merge pull request #1427 from SYM01/hotfix/avoid-dos
  • d160ecb fix issue #1424
  • db7db5b remove unneccsary code assignment to nil
  • 8bff5bb Update controller.go
  • 16f5fef Remove a stray println call.
  • 60c3d7a develop v1.0.0-dev

[revel/cmd]

  • d8117a3 Merge pull request #186 from notzippy/go-mod
  • 6371373 Removed version update Version control is maintained through go.mod file Modified harness to only kill the application if not responded after 60 seconds in windows
  • 28ac65f Merge pull request #185 from notzippy/go-mod
  • 5070fb8 Fixed issue with new and run flag Updated tests to run final test in non gopath, with new name
  • 904cfa2 Added some informational messages while download
  • 223bd3b Added manual scan on packages in app folder This allows for source code generation. Packages in /app folder are scanned manually as opposed to the packages.Load scan which will fast fail on compile error, and leave you with go files with no syntax.
  • 4987ee8 Added verbose logging to building / testing a no-vendor app Removed section which raises an error when examining packages, we dont need to check for errors on foreign packages since we are importing only a slice of the data
  • 4bab440 Updated Revel command Added a check to see if harness had already started, saves a recompile on load Added check to source info for local import renames Removed the go/build check for path and just check existence of the path Formatting updates
  • 741f492 Updated scanner Removed scanning all the import statements, this is not needed Added recursive scan for revel import path to pick up testunits
  • 60b88a4 Merge pull request #180 from notzippy/go-mod
  • 49eef29 Build and Historic build updates Modified GOPATH to not modify build with go.mod Updated go.mod to version 1.12 Updated harness to setup listener before killing process Updated notvendored flag to --no-vendor Updated command_config to ensure no-vendor can be build Added additional checks in source path lookup
  • 9d3a554 Updates Updated NotVendored flag Updated travis matrix Updated build log
  • 36bd6b9 Corrected flags
  • 1d9df25 Moved test cases to run last
  • ad694c0 Debug travis
  • fb4b565 Debug travis Added verbose flag so we can see what is occurring, Removed checkout for revel, not needed anymore
  • 20d5766 Added gomod-flags Added a gomod-flags parameter which allows you to run go mod commands on the go.mod file before the build is performed. This allows for development environments.
  • 0920905 Updated to build go 1.12 and up Modified to use fsnotify directlyUpdated travis to not use go deps
  • 31cb64e Check-in of command_test, remaps the go mod command to use the develop branch.
  • 33abc47 Fixed remaining test
  • 86736d6 Updated formating Ran through testing individually for vendored Revel applications
  • 07d6784 Restructured command config Removed go/build reference in clean
  • c1aee24 Corrected version detection, so that equal versions match
  • f2b54f5 Updated sourceinfo Added packagepathmap to the SourceInfo, this in turn allows the RevelCLI app command to pass the source paths directly to Revel directly Added default to build to be "target" of the current folder Renamed source processor
  • 3f54665 Added processor to read the functions in the imported files, and populate the SourceInfo object the same as before
  • 548cbc1 Upatede Error type to SourceError Added processor object to code Verified compile errors appearing Signed-off-by: notzippy@gmail.com
  • 9a9511d Updated so revel new works and revel run starts parsing the source.
  • acb8fb6 Initial commit to go mod
  • d201463 Merge pull request #176 from xXLokerXx/fix_windows_path
  • 773f688 Merge branch 'develop' into fix_windows_path
  • ca4cfa5 Merge pull request #165 from kumakichi/fixed_import_C
  • 4368690 Merge pull request #179 from Laur1nMartins/Laur1nMartins/fix-linkerFlags
  • cf2e617 Merge branch 'develop' into Laur1nMartins/fix-linkerFlags
  • 424474a Fix linker flags inclusion in build comamnd
  • 6d8fcd9 Fix sintax error
  • aa459c1 Fix sintaxis error
  • 0b23b3e Fix complexity
  • 3f65e1e acept slash and inverted slash in src path validation
  • 7dce3d8 fixed import "C"
  • 5c8d5bc develop v1.0.0-dev

[revel/config]

  • no changes

[revel/modules]

  • e1fdc01 Merge pull request #103 from revel/master
  • 80d53e2 Merge pull request #102 from notzippy/go-mod
  • 2048fce Updated build processor
  • 19728d3 Added gomod removed vendor specific imports
  • 515369e develop v1.0.0-dev

[revel/cron]

  • no changes

[revel/examples]

  • 2d2968c Merge pull request #57 from notzippy/go-mod
  • dc75997 Updated examples Updated booking app to go.mod Updated chat, facebook, others app to add in go file in the root Updated travis to run tests in windows Updated travis to exclude testing fasthttp on windows
  • 5b25a51 Removed persona from project, this function no longer exists in browsers

[revel/revel.github.io]

  • 6cd3647 Merge pull request #196 from aacapella/feature/same-site-cookies
  • 9f8f537 Merge pull request #191 from dmjones/session-value-not-found-returns-error
  • d79c912 Merge pull request #194 from DGKSK8LIFE/patch-1
  • 3911471 Merge pull request #195 from notzippy/develop
  • 67b088f Same site cookie setting
  • f5c5cb0 Corrected issues
  • bba502d Update for gomod docs
  • 9765ef0 Merge remote-tracking branch 'revel/master' into develop
  • eedc235 fixed spelling error
  • 9b9270a Explain return value when session value not found
  • 24abe9a Merge pull request #184 from manfordbenjamin/master
  • 4969200 Change logo and apply blue theme style to all pages
  • 844fe5d Revamp homepage
  • ef54af7 develop v1.0.0-dev

[revel/heroku-buildpack-go-revel]

  • no changes

Revel v0.21.0 release

30 Oct 13:41
Compare
Choose a tag to compare

New items

  • Session Engine support You can now define your own session engine. By default the cookie engine is the one used for the session, but with this change you can implement your own. Also controller.Session is now a map[string]interface{} which means you can place any object that can be serialized to a string.
  • Added http mux support you can now integrate Revel with packages that have their own HTTP muxers. This allows you to integrate with Hugo, Swagger or any suite of software that is out there.
  • revel.controller.reuse app.conf option to turn on / off reuse of the controllers. Defaults to true

Breaking changes

controller.Session is now a map[string]interface{} (previously was map[string]string) this means existing code needs to cast any values they pull from the session

	if username, ok := c.Session["user"]; ok { // username is a string type
		return c.getUser(username)
	}

changes to

	if username, ok := c.Session["user"]; ok { // username is an interface{} type
		return c.getUser(username.(string))
	}

Deprecated log points removed
revel.ERROR, revel.TRACE, revel.DEBUG, revel.WARN have been removed

Function name change revel.OnAppStop Replaced revel.OnAppShutdown

revel.SimpleStack was moved to github.com/revel/revel/utils.SimpleStack

New packages required

Revel Framework

  • github.com/twinj/uuid (revel/revel session ID generation)

Revel Cmd

  • github.com/kr/pty (revel/cmd capture output of dep tool)

Package changes

Revel Framework

  • Added stack to errors Added stack information to router when forumlating error
  • Fix spelling errors from go report
  • Removed deprecated loggers
  • Updated travis , made windows success optional
  • Exposed StopServer function to public Changed session filter to use empty call
  • 577ae8b Enhancement pack for next release Added session engine support, and the session cookie engine breaking change revel.Session was map[string]string now is map[string]interface{}
  • Updated shutdown to support windows environment
  • Patched shutdown support to make it work through the event engine
  • Added ENGINE_SHUTDOWN_REQUEST to events, raising this event will cause the server to shutdown
  • Assigned Server engines to receive revel.Events Added revel.OnAppStop hooks -
  • Normalized startup / shutdown hooks into their own package

Revel Cmd

  • Modified run command to translate symlinks to absolute paths
  • Tool updates Updated tool to give more meaningful errors
  • Added file system as an option to fetch the skeleton from
  • Allow windows to fail on travis
  • run Command will choose CWD if no additional arguments are supplied
  • Added Revel version check, compatible lists are in model/version

Revel Modules

  • Updated CSRF test cases
  • Added travis test for modified test engine
  • Updated server-engine modules to support OnAppStop functionality.
  • Reorganization, readme updates Moved auth example into its own folder
  • Updated root readme
  • Updated CSRF

Revel Examples

  • Fixed issue with error checking closes websocket in chat
  • Updated booking module to work with changed session
  • Updated to remove any references to old revel.log variables

Revel 0.20.0

23 Sep 18:27
Compare
Choose a tag to compare

New items

  • Updated minimum Go requirements to Go 1.8

Revel Cmd changes

See manual for more information on the flags and new features

  • Rewrote revel/cmd package so it has no dependencies on revel/revel - future releases for revel/cmd will not be on the same schedule as revel/revel
  • Added flag support to revel/cmd ,
  • Added automatic vendor creation flag, when enabled a vendor folder will be added and used to the project
  • Added [DEFAULT] section to message skeleton so multiple lines work
  • If port specified is 0 then proxy can will run on a random free port
  • Split main file into two files so it may be invoked using other methods
  • Added ability to only monitor and update build files (without running a proxy)
  • Auto download revel/revel, revel/cmd - if you point your GOPATH to an empty directory the revel tool will still be able to create a new project
  • Made application path smarter. Now supports absolute paths and relatives paths.
  • modified revel run to pass in json code to the revel.Init function in place of the mode field. This allows for dynamic information to be passed to the Revel Server. This can be disabled by using this flag --historic-run-mode
  • modified revel new added -V to auto create the vendor folder inside the application along with the Gopkg.toml file.
  • modified revel new added -r to run the application after creating it.

revel/module

  • Enhanced gorp module to make database schema available
  • Added server-engine server-engine/gohttptest and a testsuite file that implements all the methods from revel/testsuite. This test engine as an alpha implementation to be able to run go test from the command line. Meaning your tests can now live beside the controller. An example testsuite is here
  • Updated static module, moved a structure into a model package

revel/revel

  • Added startup fail REVEL_FAILURE event
  • Added HTTP_REQUEST_CONTEXT fetch
  • Added websockets Message.Send / Message.Receive functions.
  • Enhanced required validator
  • Graceful shutdown added. By doing a revel.RaiseEvent()

Breaking Changes

  • Request.Context() map[string]interface() renamed to
    Request.Args() map[string]interface()
    new function added which returns the request.Context for the server-engine that supports it
    Request.Context() context.Context
    revel.EventHandler signature was func(typeOf int, value interface{}) (responseOf int)
    now it is func(typeOf Event, value interface{}) (responseOf EventResponse)

Revel v0.19.1 release

21 Mar 16:45
248166b
Compare
Choose a tag to compare

Fix import to point to the fsnotify/fsnotify.v1

Revel v0.19.0 release

07 Feb 05:23
Compare
Choose a tag to compare

Maintenance Release

This release is focused on improving the security and resolving some issues.

There are no breaking changes from version 0.18

[revel/cmd]

  • Improved vendor folder detection revel/cmd#117
  • Added ordering of controllers so order remains consistent in main.go revel/cmd#112
  • Generate same value of AppVersion regardless of where Revel is run revel/cmd#108
  • Added referrer policy security header revel/cmd#114

[revel/modules]

  • Added directory representation to static module revel/modules#46
  • Gorp enhancements (added abstraction layer for transactions and database connection so both can be used), Added security fix for CSRF module revel/modules#68
  • Added authorization configuration options to job page revel/modules#44

[revel/examples]

Revel v0.18.0 release

01 Nov 17:44
Compare
Choose a tag to compare

New items

  • Server Engine #998
    The server engine implementation is described in the docs
  • Go dependencies revel/meta#11
    Update your gopath with the dependencies files in the revel/meta package. Checkout any version of revel from 0.14 till now
  • Allow binding to a structured map. #998
    Have a structure inside a map object which will be realized properly from params
  • Gorm module revel/modules/#51
    Added transaction controller
  • Gorp module revel/modules/#52
  • Autorun on startup in develop mode revel/cmd#95
    Start the application without doing a request first using revel run ....
  • Logger update #1213
    Configurable logger and added context logging on controller via controller.Log
  • Before after finally panic controller method detection #1211
    Controller methods will be automatically detected and called - similar to interceptors but without the extra code
  • Float validation #1209
    Added validation for floats
  • Timeago template function #1207
    Added timeago function to Revel template functions
  • Authorization to jobs module revel/module#44
    Added ability to specify authorization to access the jobs module routes
  • Add MessageKey, ErrorKey methods to ValidationResult object #1215
    This allows the message translator to translate the keys added. So model objects can send out validation codes
  • Vendor friendlier - Revel recognizes and uses deps (to checkout go libraries) if a vendor folder exists in the project root.
  • Updated examples to use Gorp modules and new loggers

Breaking Changes

  • http.Request is no longer contained in revel.Request revel.Request remains functionally the same but
    you cannot extract the http.Request from it. You can get the http.Request from revel.Controller.Request.In.GetRaw().(*http.Request)

  • http.Response.Out Is not the http.Response and is deprecated, you can get the output writer by doing http.Response.GetWriter(). You can get the http.ResponseWriter from revel.Controller.Response.Out.Server.GetRaw().(*http.ResponseWriter)`

  • Websocket changes. revel.ServerWebsocket is the new type of object you need to declare for controllers
    which should need to attach to websockets. Implementation of these objects have been simplified

Old


func (c WebSocket) RoomSocket(user string, ws *websocket.Conn) revel.Result {
	// Join the room.
	subscription := chatroom.Subscribe()
	defer subscription.Cancel()

	chatroom.Join(user)
	defer chatroom.Leave(user)

	// Send down the archive.
	for _, event := range subscription.Archive {
		if websocket.JSON.Send(ws, &event) != nil {
			// They disconnected
			return nil
		}
	}

	// In order to select between websocket messages and subscription events, we
	// need to stuff websocket events into a channel.
	newMessages := make(chan string)
	go func() {
		var msg string
		for {
			err := websocket.Message.Receive(ws, &msg)
			if err != nil {
				close(newMessages)
				return
			}
			newMessages <- msg
		}
	}()

New

func (c WebSocket) RoomSocket(user string, ws revel.ServerWebSocket) revel.Result {
	// Join the room.
	subscription := chatroom.Subscribe()
	defer subscription.Cancel()

	chatroom.Join(user)
	defer chatroom.Leave(user)

	// Send down the archive.
	for _, event := range subscription.Archive {
		if ws.MessageSendJSON(&event) != nil {
			// They disconnected
			return nil
		}
	}

	// In order to select between websocket messages and subscription events, we
	// need to stuff websocket events into a channel.
	newMessages := make(chan string)
	go func() {
		var msg string
		for {
			err := ws.MessageReceiveJSON(&msg)
			if err != nil {
				close(newMessages)
				return
			}
			newMessages <- msg
		}
	}()
  • GORM module has been refactored into modules/orm/gorm

Deprecated mathods

  • revel.Request.FormValue() Is deprecated, you should use methods in the controller.Params to access this data
  • revel.Request.PostFormValue() Is deprecated, you should use methods in the controller.Params.Form to access this data
  • revel.Request.ParseForm() Is deprecated - not needed
  • revel.Request.ParseMultipartForm() Is deprecated - not needed
  • revel.Request.Form Is deprecated, you should use the controller.Params.Form to access this data
  • revel.Request.MultipartForm Is deprecated, you should use the controller.Params.Form to access this data
  • revel.TRACE, revel.INFO revel.WARN revel.ERROR are deprecated. Use new application logger revel.AppLog and the controller logger controller.Log. See logging for more details.

Features

  • Pluggable server engine support. You can now implement your own server engine. This means if you need to listen to more then 1 IP address or port you can implement a custom server engine to do this. By default Revel uses GO http server, but also available is fasthttp server in the revel/modules repository. See the docs for more information on how to implement your own engine.

Enhancements

  • Controller instances are cached for reuse. This speeds up the request response time and prevents unnecessary garbage collection cycles.

Bug fixes

Revel v0.17.1 release

14 Jul 18:26
Compare
Choose a tag to compare

Critical issue identified details here #1200

Revel v0.17.0 release

12 Jul 05:33
Compare
Choose a tag to compare

CHANGELOG

v0.17

[revel/revel]

  • add-validation
  • i18-lang-by-param
  • Added namespace to routes, controllers
  • Added go 1.6 to testing
  • Adds the ability to set the language by a url parameter. The route file will need to specify the parameter so that it will be picked up
  • Changed url validation logic to regex
  • Added new validation mehtods (IPAddr,MacAddr,Domain,URL,PureText)

[revel/cmd]

  • no changes

[revel/config]

  • no changes

[revel/modules]

  • Added Gorm module

[revel/cron]

  • Updated cron task manager
  • Added ability to run a specific job, reschedules job if cron is running.

[revel/examples]

  • Added Gorm module (Example)

Revel v0.16.0

07 Jun 06:29
Compare
Choose a tag to compare

Breaking Changes

  • CurrentLocaleRenderArg to CurrentLocaleViewArg for consistency
  • JSON requests are now parsed by Revel, if the content type is text/json or application/json. The raw data is available in Revel.Controller.Params.JSON. But you can also use the automatic controller operation to load the data like you would any structure or map. See here for more details

Features

Enhancements

  • JSON request binding #1161
  • revel.SetSecretKey function added #1127
  • ResolveFormat now looks at the extension as well (this sets the content type) #936
  • Updated command to run tests using the configuration revel/cmd#61

Bug fixes

  • Updated documentation typos revel/modules#37
  • Updated order of parameter map assignment #1155
  • Updated cookie lifetime for firefox #1174
  • Added test path for modules, so modules will run tests as well #1162
  • Fixed go profiler module revel/modules#20